使用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();
}
}
}
运行截图:
原文:http://blog.csdn.net/ling1510/article/details/23515165