大家在.NET中處理XML文檔的時(shí)候,經(jīng)常會(huì)需要找到文檔中的某個(gè)節(jié)點(diǎn)的數(shù)據(jù)。要找到某個(gè)節(jié)點(diǎn),有許多種方法,在這里我就把幾種常用的方法給大家總結(jié)一下。
首先,我們要做的是要把一個(gè)XML文檔裝入到一個(gè)XmlDocument對(duì)象中去。
先引用幾個(gè)名字空間:
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
這幾個(gè)名字空間大家根據(jù)名字就知道它的意思了,我就不在這兒多說(shuō)了。然后就是裝入XML文件的代碼,方法如下:
String xmlfile="c:/member.xml"; //其中的xmlfile是你要載入的XML文件的路徑。
XmlDocument myDoc = new XmlDocument(); //定義一個(gè)XmlDocument對(duì)象。
myDoc.Load(xmlfile);
這樣,我們就有一個(gè)叫myDoc的XML文檔。我們現(xiàn)在就來(lái)找這個(gè)文檔中的一些節(jié)點(diǎn)。我們先來(lái)看這個(gè)XML文件的內(nèi)容。
< ?xml version="1.0" encoding="UTF-8"?>
< members>
< member>
< name>Tim
< hobby>reading
< homepage>www.aspcool.com
< /member>
< member>
< name>Sandy
< hobby>learning
< /member>
< member>
< name>Shally
< hobby>tranlating
< /member>
< member>
< name>Christine
< hobby>working
< /member>
< /members>
我們現(xiàn)在可以用下面的方法找到name為tim的節(jié)點(diǎn):
myDoc.ChildNodes.Item(1).ChildNodes.Item(0).FirstChild.InnerText
這個(gè)方法要求我們一層層向內(nèi)找我們需要的數(shù)據(jù),如果層次很多的話,做起來(lái)就會(huì)很費(fèi)勁,也容易出錯(cuò)。幸好.NET給我們提供了另外一個(gè)方法SelectSingleNode和SelectNodes方法可以讓我們直接找到所要的數(shù)據(jù)。比如,我們要找姓名為“Tim”的用戶的hobby,我們可以用下面的方法:
myDoc.SelectSingleNode ("//member[name='Tim']").ChildNodes.Item(1).InnerText
其中//代表里面任意層的子節(jié)點(diǎn)。這樣我們就可以很快的找到所要的東西。SelectSingleNode是找到一個(gè)單一的節(jié)點(diǎn),SelectNodes可以找到許多節(jié)點(diǎn)。
新聞熱點(diǎn)
疑難解答
圖片精選