程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中SelectSingleNode方法的使用

C#中SelectSingleNode方法的使用

編輯:C#入門知識

記錄一下C#中SelectSingleNode方法的使用

這裡有兩個XML,一個是以屬性來描述,一個是以結點來描述.對於這兩個的操作也不相同


<Ad>
<adlist name="廣告1" pic="UpFile/1.jpg" url="http://www.sohu.com" rank="1" />
<adlist name="廣告2" pic="UpFile/2.jpg" url="http://www.163.com" rank="2" />
<adlist name="廣告3" pic="UpFile/2.jpg" url="http://www.163.com" rank="3" />
</Ad>


<Ad>
<adlist>
    <ad_name>廣告1</ad_name>
    <ad_pic>UpFile/1.jpg</ad_pic>
    <ad_url>http://www.sohu.com</ad_url>
    <ad_qz>2</ad_qz>
</adlist>
<adlist>
    <ad_name>廣告2</ad_name>
    <ad_pic>UpFile/2.jpg</ad_pic>
    <ad_url>http://www.163.com</ad_url>
    <ad_qz>1</ad_qz>
</adlist>
</Ad>

對於後台的綁定都是一樣,都綁定到adlist
XmlDataSource xmlSource = new XmlDataSource();
xmlSource.XPath = "Ad/adlist";

在頁面上,我使用Repeater來顯示
對於第一種,使用Eval綁定表達式 <%# Eval("name") %>   name是adlist 的屬性
對於第二種,使用XPath數據綁定表達式 <%# XPath("ad_name")%> ad_name是adlist下的子結點

修改:
對第一種XML,通過屬性名稱來查找結點,然後將結點轉換成XmlElement,對屬性進行設置.xmlDoc是XmlDocument的實例
XmlNode xFind = xmlDoc.SelectSingleNode("Ad/adlist[@name='" + sName + "']");
XmlElement element = (XmlElement)xFind;
element.SetAttribute("屬性名", "修改值");
修改完後,要進行保存,不然,值只是保存在內存中,並未寫入文件中.xmlDoc.Save(路徑);

對第二種XML,我使用XPathNavigator來操作.xmlDoc同上
XmlNode xFind = xmlDoc.SelectSingleNode("Ad/adlist[ad_name='" + sName + "']");
XPathNavigator nav = xFind.CreateNavigator();
XPathNodeIterator ite = nav.Select("ad_name");//查找www.2cto.com
if (ite != null && ite.MoveNext())//不為NULL並移到下一結點,下一個節點是文本節點
{
    ite.Current.SetValue("廣告3");//設置當前結點的值
}
最後一步,xmlDoc.Save(路徑);
作者:zhuzhu837_1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved