在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一 .Net框架中与XML有关的命名空间 System.Xml System.Xml.Schema System.Xml.Serialization System.Xml.Xpath System.Xml.Xsl 写操作的有些方法是成对出现的,比如你要写入一个元素,首先调用WriteStartElement方法—>写入实际内容—>调用WriteEndElement方法结束。 下面通过其子类 XmlTextWriter 来说明如何写XML文档。 XmlTextWriter textWriter = New XmlTextWriter("C:\\myXmFile.xml", null); 在创建完对象后,我们调用WriterStartDocument方法开始写XML文档; 在写的过程中,我们可以: 下面的示例介绍如何具体运用这些方法来完成XML文档的写工作。 复制代码 代码如下: using System; using System.Xml; namespace WriteXML // 开始写过程,调用WriteStartDocument方法 // 写入说明 //创建一个节点 // 关闭textWriter } 三 读XML文档的方法 用XmlTextReader类的对象来读取该XML文档。在创建新对象的构造函数中指明XML文件的位置即可。 XmlTextReader textReader = new XmlTextReader("C:\\books.xml"); XmlTextReader 类中的属性 NodeType 可以知道其节点的节点类型。通过与枚举类型 XmlNodeType 中的元素的比较,可以获取相应节点的节点类型并对其完成相关的操作。 枚举类型 XmlNodeType 中包含了诸如XmlDeclaration、Attribute、CDATA、Element、Comment、Document、DocumentType、Entity、ProcessInstruction以及WhiteSpace等XML项的类型。 下面的示例是以读取"books.xml"文件创建对象,通过该xml对象的Name、BaseURI、Depth、LineNumber等属性来获取相关信息,并显示在控制台中。(运用VS.net开发工具附带的"books.xml"文件来作为示例) 复制代码 代码如下: using System; using System.Xml; namespace ReadXml // 读取该元素的属性并显示在控制台中 四 运用XmlDocument类 XmlDocument类代表了XML文档,它能完成与整个XML文档相关的各类操作,同时和其相关的XmlDataDocument类也是非常重要的,值得深入研究。 该类包含了Load、LoadXml以及Save等重要的方法。 Load方法: 可以从一个字符串指定的XML文件或是一个流对象、一个TextReader对象、一个XmlReader对象导入XML数据。 下面的示例中,用到了XmlDocument类对象的LoadXml方法,它从一个XML文档段中读取XML数据并调用其Save方法将数据保存在一个文件中。 复制代码 代码如下: // 创建一个XmlDocument类的对象 XmlDocument doc = new XmlDocument(); doc.LoadXml(("<Student type='regular' Section='B'><Name>Tommy Lex</Name></Student>")); // 保存到文件中 下面的示例中,用到了一个XmlTextReader对象,通过它读取"books.xml"文件中的XML数据。然后创建一个XmlDocument对象并载入XmlTextReader对象,这样XML数据就被读到XmlDocument对象中了。最后,通过该对象的Save方法将XML数据显示在控制台中。 // 载入XmlTextReader类的对象 xml文件 复制代码 代码如下: <?xml version='1.0'?> <!-- This file represents a fragment of a book store inventory database --> <bookstore> <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0"> <title>The Autobiography of Benjamin Franklin</title> <author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </author> <price>8.99</price> </book> <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2"> <title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price> </book> <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6"> <title>The Gorgias</title> <author> <first-name>Sidas</first-name> <last-name>Plato</last-name> </author> <price>9.99</price> </book> </bookstore> 另外一个.net操作xml文件示例 复制代码 代码如下: //设置配置文件物理路径 public string xmlPath = "/manage/spider/config.xml"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //设置程序物理路径+文件物理路径 string path = Request.PhysicalApplicationPath + xmlPath; //获取XML元素对象 XElement config = XElement.Load(path); if (config != null) { //获得节点子元素 XElement eleAmazonDetailUrl = config.Element("AmazonDetailUrl"); XElement eleAmazonListUrl = config.Element("AmazonListUrl"); XElement eleHz = config.Element("Hz"); XElement eleCount = config.Element("Count"); //在页面上呈现取到的数据 if (eleAmazonDetailUrl != null) TextBox_AmazonDetailUrl.Text = eleAmazonDetailUrl.Value; if (eleAmazonListUrl != null) TextBox_AmazonListUrl.Text = eleAmazonListUrl.Value; if (eleHz != null) TextBox_Hz.Text = eleHz.Value; if (eleCount != null) TextBox_Count.Text = eleCount.Value; } else Response.Write(""); } |
请发表评论