婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > XML文檔搜索使用小結

XML文檔搜索使用小結

熱門標簽:r語言數據可視化地圖標注 微信地圖標注合并了 隨州外呼調研系統 南寧網絡外呼系統運營商 400電話辦理包年 如何修改多個百度地圖標注 東營電銷 高德地圖地圖標注服務中心 本地電話機器人
大家在.NET中處理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文件的內容。
  ?xml version="1.0" encoding="UTF-8"?>
  members>
   member>
   name>Tim/name>
   hobby>reading/hobby>
   homepage>www.aspcool.com/homepage>
   /member>
   member>
   name>Sandy/name>
   hobby>learning/hobby>
   /member>
   member>
   name>Shally/name>
   hobby>tranlating/hobby>
   /member>
   member>
   name>Christine/name>
   hobby>working/hobby>
   /member>
  /members>

  我們現在可以用下面的方法找到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文件:
  ?xml version="1.0" encoding="gb2312"?>
  xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
   xsl:preserve-space elements="codes"/>
   xsl:template match="/">
   xsl:apply-templates/>
   /xsl:template>

   xsl:template match="image">
   table align="{@location}">
   tr>
   td>
   img align="{@location}" alt="{text()}">
   xsl:attribute name="src">../FTP_Magazine/FTP_Issue/xsl:value-of select="@url"/>/xsl:attribute>
   /img>
   /td>
   /tr>
   tr>
   td>
   center>
   xsl:apply-templates/>
   /center>
   /td>
   /tr>
   /table>
   /xsl:template>

  /xsl:stylesheet>

  我們在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 = 你所需要輸給的變量

  也就是說對于類似xsl:attribute name="src">../FTP_Magazine/FTP_Issue/xsl:value-of select="@url"/>/xsl:attribute>這樣的節點,在我們查找以前,我們需要定義一個XmlNamespaceManager,用它我們就可以找到我們所需要的節點。

標簽:益陽 德州 宿遷 黃石 西雙版納 果洛 寧夏 拉薩

巨人網絡通訊聲明:本文標題《XML文檔搜索使用小結》,本文關鍵詞  XML,文檔,搜索,使用,小結,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《XML文檔搜索使用小結》相關的同類信息!
  • 本頁收集關于XML文檔搜索使用小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日照市| 星子县| 伊通| 镇坪县| 龙州县| 阿坝| 万源市| 彰化市| 龙泉市| 肇州县| 抚顺市| 景宁| 西平县| 永昌县| 无棣县| 枝江市| 正定县| 桐乡市| 阳谷县| 陈巴尔虎旗| 伽师县| 秀山| 濮阳市| 肇州县| 西峡县| 大洼县| 乌兰察布市| 尚义县| 济阳县| 延川县| 吉木乃县| 韩城市| 永泰县| 衡阳县| 瑞昌市| 拜城县| 琼中| 屏南县| 郓城县| 大埔区| 正定县|