C#中用XmlDocument对象获取XML文件中的节点值

本文介绍如何在C#中利用XmlDocument类读取XML文件,并获取特定节点的值。通过实例演示了加载XML文件、指定编码、处理空值以及字符串操作的方法。
摘要由CSDN通过智能技术生成

C#中用XmlDocument对象获取XML文件中的节点值

XmlDocument是表示DOM的类。
1.加载XML文档:使用load()方法加载XML文档;
2.读取节点:使用GetElementById()、getElementsByTagName_r()方法根据ID或标签名读取节点;
3.查找节点:使用SelectSingleNode(string  search)方法通过XPath查找节点;
4.插入节点:使用createElement_x()方法创建节点,AppendChild()方法添加新节点;
5.创建文档:通过XmlDeclaration对象新建声明节点,其他同插入节点。
xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
  <book>
      <title lang="eng">Harry Potter</title>
      <price>29.99</price>
  </book>
  <book>
      <title lang="eng">Learning XML</title>
      <price>39.98</price>
  </book>
  <bookstore>
      <title lang="eng">Learning C#</title>
      <price>55.23</price>
  </bookstore>
  <item name="1">第一个item</item>
  <item name="2">
      <item name="1">这个结点(1)</item>
      <item name="2">这个结点(2)</item>
      <book>
          <title lang="cn">Learning C</title>
          <price>60.95</price>
      </book>
  </item>
</bookstore>
                    XmlDocument xdoc = new XmlDocument();
                      xdoc.Load(Server.MapPath("books.xml"));
                      XmlNodeList xnl = xdoc.SelectNodes("/bookstore/book");
                      string nodeTempStr = "";
                      foreach (XmlNode node in xnl)
                      {
                              nodeTempStr = node.InnerText;
                              node ......


实例:处理books.xml文档

TestXmlDocument.cs:
001. using System;
002. using System.Xml;
003.  
004. namespace Magci.Test.XML.TestXmlDocment
005. {
006. class Program
007. {
008. private static XmlDocument doc;
009.  
010. static void Main(string[] args)
011. {
012. doc new XmlDocument();
013. //加载XML文档
014. doc.Load(@"..\..\books.xml");
015. DisplayTitle();
016. SearchByTitle("The Gorgias");
017. Insert();
018. CreateDoc();
019.  
020. Console.ReadLine();
021. }
022.  
023. //遍历节点
024. public static void DisplayTitle()
025. {
026. XmlNodeList nodes doc.getElementsByTagName_r("title");
027. Console.WriteLine("Title:");
028. foreach (XmlNode node in nodes)
029. {
030. Console.WriteLine(node.InnerText);
031. }
032.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值