频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

TextXmlHelp

来源: 作者: 出处:巧巧读书 2006-09-29 进入讨论组

  namespace TestXMLHelper {
using System;
using System.XML;
using System.Collections;
using RobBirdwell.XMLHelper;

/*******
The following classes serve as a simple test app for the XMLHelper module.
It attempts to load "MyTestObj.XML"  - the text for this is at the bottom
of this listing.

This is a work in progress and provided solely to test and learn C#.
********/
class TestXMLHelper // Test class for XMLHelper
  {
  static int Main(string[] args)
   {
   
   Console.WriteLine("Begin XML Load test...");

   MyManager nm = new MyManager();
   if (nm.Load() == true)
    Console.WriteLine("End Load Test - XML Data Loaded Successfully!");
   else
    Console.WriteLine("End Load Test - XML Load FAILED!");

   Console.WriteLine("Begin XML Create test...");
   
   // Demonstrate how we can create an XML document from scratch...
   XMLHelper myXML = new XMLHelper();
   myXML.LoadXML("<MyRootNode/>", XMLHelper.LoadType.FromString);
   
   // Now create some children - Elements & Attributes...
   XMLElement XMLChildFolder = myXML.CreateNodeElement(myXML.RootNode, "ChildFolder", "");
   XMLAttribute XMLChildAttribute1 = myXML.CreateNodeAttribute(XMLChildFolder, "Price", "12.00");
   XMLElement XMLChildElement = myXML.CreateNodeElement(XMLChildFolder, "ChildElementOfChildFolder", "Test element with a <tag> to test encoding");
   XMLElement XMLSubChildFolder = myXML.CreateNodeElement(XMLChildFolder, "SubFolderOfChildFolder", "");
   XMLElement XMLSubChildElement = myXML.CreateNodeElement(XMLSubChildFolder, "SubChildElement", "This is a sub element!");
   XMLAttribute XMLChildAttribute2 = myXML.CreateNodeAttribute(XMLSubChildFolder, "Price", "10.00");
   
   // Now save this XML document...
   myXML.SaveToFile("myXMLTest.XML");
   Console.WriteLine("End XML Create test - view myXMLTest.XML");
   
   // Now demonstrate how we can load XML, modify it, and resave it!
   Console.WriteLine("Begin XML Load/Modify/Save test...");
   XMLHelper modifyXML = new XMLHelper();
   modifyXML.LoadXML("myXMLTest.XML", XMLHelper.LoadType.FromLocalFile);
   
   // Change something
   ArrayList foundNodes = modifyXML.GetChildNodesFromCriteria("descendant::ChildFolder");
   foreach (XMLNode theNode in foundNodes)
    {
    XMLNode nodeToModify = modifyXML.GetFirstChildXMLNode(theNode, "ChildElementOfChildFolder");
    if (nodeToModify != null)
     modifyXML.ModifyNodeElementValue(nodeToModify, "Modified value: " + DateTime.Now);    
    }
   
   modifyXML.SaveToFile("myModifiedXMLTest.XML");
   Console.WriteLine("End XML Load/Modify/Save test - see 'myModifiedXMLTest.XML' to see modification results to ChildElementOfChildFolder");
  
   // Now show that we can load XML from a URL...
   // Note:  if behind a firewall this fail - comment out if necessary!
   Console.WriteLine("Start XML Load/Save test from URL");
   XMLHelper readFromURL = new XMLHelper();
   string sTestURL = "http://www.birdwellmusic.com/bmpdata.XML";
   readFromURL.LoadXML(sTestURL, XMLHelper.LoadType.FromURL);
   readFromURL.SaveToFile("fromURL.XML");
   Console.WriteLine("End XML Load/Save test from URL - see fromURL.XML");
   return 0;
   }
  }

// A test class that contains some data, arrays, etc.  The usual bits...
class MyTestObj
  {
  private string m_ID;
  private string m_DateCreated;
  private string m_DateModified;
  private string m_Text;
  private ArrayList m_URLS = new ArrayList();

  public string ID
   {
   get {return m_ID; }
   set {m_ID = value;}
   }
   
  public string DateCreated
   {
   get {return m_DateCreated; }
   set {m_DateCreated = value; }
   }
  
  public string DateModified
   {
   get {return m_DateModified; }
   set {m_DateModified = value; }
   }  
  
  public string Text
   {
   get {return m_Text; }
   set {m_Text = value;}
   }
  
  public void AddMyURL(MyURL MyURL)
   {
   m_URLS.Add(MyURL);
   }
  }

// Another test class - contains some members to store URL link info...
class MyURL
  {
  private string m_Label;
  private string m_Link;
  
  public string Label
   {
   get {return m_Label; }
   set {m_Label = value;}
   }
  
  public string Link
   {
   get {return m_Link; }
   set {m_Link = value;}
   }
  }  
// A test "manager" class that wraps up our test classes and uses the XMLHelper
class MyManager
  {
  private XMLHelper m_XMLHelper;
  private ArrayList m_MyTestObjArray = new ArrayList();
   
  public MyManager()
   {
   m_XMLHelper = new XMLHelper();
   }

  public void AddMyTestObj(MyTestObj MyTestObj)
   {
   m_MyTestObjArray.Add(MyTestObj);
   }

  public bool Load()
   {
   if (m_XMLHelper.LoadXML("MyTestObj.XML", XMLHelper.LoadType.FromLocalFile) == false)
    return false;
   
   XMLNodeList objNodes = m_XMLHelper.GetChildNodesFromRoot("Obj");
   
   foreach (XMLNode XMLNode in objNodes)
    {
    MyTestObj MyTestObj = new M巧 巧 读 书:http://www.qqread.com/xml-soap/g228732.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章