使用C#读取XML的数据,需要加上using system.XML的引用。C#对XML的支持也是很规范的。
试了一个案例,通过C#读取XML中的数据(需要注意的就是XML中的层级问题,一层一层往下读就可以了)。
XML数据:
<?xml version="1.0" encoding="gb2312"?> <RECORDS> <RECORD> <id>423</id> <article>我爱你</article> <discuss>5</discuss> <insertTime>2011/11/18 11:08:16</insertTime> <origin>新浪微博</origin> <person_id>1043652517</person_id> <time>2011/11/13 14:38:32</time> <transmit>0</transmit> </RECORD> <RECORD> <id>424</id> <article>我爱你</article> <discuss>1</discuss> <insertTime>2011/11/18 11:08:16</insertTime> <origin>Android客户端</origin> <person_id>1043652517</person_id> <time>2011/11/13 12:31:59</time> <transmit>0</transmit> </RECORD> </RECORDS>
C#源码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace ReadXML { class Program { static void Main(string[] args) { XmlDataDocument xmlDoc = new XmlDataDocument(); xmlDoc.Load("1234.xml"); XmlNode rootNode = xmlDoc.SelectSingleNode("RECORDS");//这是最高层的node XmlNodeList secondNode = rootNode.ChildNodes; foreach (XmlNode node in secondNode) // 第二层的node { XmlElement xe = (XmlElement)node; XmlNodeList xnl = xe.ChildNodes; foreach (XmlNode node1 in xnl) { Console.WriteLine(node1.InnerText); //最底层的node,只要一个遍历就可以了。 } } Console.Read(); } } }
运行截图: