国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

XML文檔搜索使用摘要

2024-09-05 20:55:20
字體:
來源:轉載
供稿:網友

大家在.NET中處理XML文檔的時候,經常會需要找到文檔中的某個節點的數據。要找到某個節點,有許多種方法,在這里我就把幾種常用的方法給大家總結一下,跟隨錯新技術頻道的小編來看下XML文檔搜索使用摘要吧。

? 首先,我們要做的是要把一個XML文檔裝入到一個XmlDocument對象中去。

? 先引用幾個名字空間:

? using System.Xml;
? using System.Xml.Xsl;
? using System.Xml.XPath;

? 這幾個名字空間大家根據名字就知道它的意思了,我就不在這兒多說了。然后就是裝入XML文件的代碼,方法如下:

? String xmlfile="c:/member.xml"; //其中的xmlfile是你要載入的XML文件的路徑。
? XmlDocument myDoc = new XmlDocument(); //定義一個XmlDocument對象。
? myDoc.Load(xmlfile);

??
? 這樣,我們就有一個叫myDoc的XML文檔。我們現在就來找這個文檔中的一些節點。我們先來看這個XML文件的內容。
?
?
??
?? Tim
?? reading
?? www.aspcool.com
??

??
?? Sandy
?? learning
??

??
?? Shally
?? tranlating
??

??
?? Christine
?? working
??

?


? 我們現在可以用下面的方法找到name為tim的節點:
? myDoc.ChildNodes.Item(1).ChildNodes.Item(0).FirstChild.InnerText

? 這個方法要求我們一層層向內找我們需要的數據,如果層次很多的話,做起來就會很費勁,也容易出錯。幸好.NET給我們提供了另外一個方法SelectSingleNode和SelectNodes方法可以讓我們直接找到所要的數據。比如,我們要找姓名為“Tim”的用戶的hobby,我們可以用下面的方法:
? myDoc.SelectSingleNode ("http://member[name='Tim']").ChildNodes.Item(1).InnerText

? 其中//代表里面任意層的子節點。這樣我們就可以很快的找到所要的東西。SelectSingleNode是找到一個單一的節點,SelectNodes可以找到許多節點。

? 在XML中尋找某個子節點,大家都知道怎么做了,我們現在在一個特殊的XML文件---XSL文件中去找一個子節點,這個應該怎么實現呢?

? 假設我現在有一個這樣的XSL文件:
?
?
??
??

??


?? {text()}
?? ../FTP_Magazine/FTP_Issue/
??
??

??

??
??

??


??

?

? 我們在asp.net中有兩個變量,我們需要XSL文件在Transform XML文件的時候采用這兩個變量。我們該如何去做呢?

? 我所采取的方法是先把XSL文件作為XML Document裝載進來,在使用之前,我們找到需要修改的節點,用我們的變量對其進行修改。這個時候我們查找這個節點的時候需要做些變動,代碼如下:

? XmlNamespaceManager nsmanager = new XmlNamespaceManager(xslDoc.NameTable);
? nsmanager.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");
? xslDoc.SelectSingleNode("http://xsl:attribute[@name='src']", nsmanager).InnerXml = 你所需要輸給的變量

? 也就是說對于類似../FTP_Magazine/FTP_Issue/這樣的節點,在我們查找以前,我們需要定義一個XmlNamespaceManager,用它我們就可以找到我們所需要的節點,如果還有其他疑問,歡迎補充,有任何問題也可以與錯新編輯一起討論。

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昂仁县| 海伦市| 上高县| 城步| 沈阳市| 嵊州市| 内丘县| 上高县| 武穴市| 南和县| 灵宝市| 宜良县| 二连浩特市| 芜湖市| 赤城县| 江陵县| 萨迦县| 东平县| 鸡泽县| 公安县| 浪卡子县| 来宾市| 奎屯市| 新绛县| 杨浦区| 兴安县| 靖西县| 资溪县| 大同县| 龙泉市| 肇源县| 卢龙县| 泰来县| 亚东县| 罗江县| 利津县| 达州市| 聂拉木县| 阿图什市| 金坛市| 陈巴尔虎旗|