程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net XML文件操作實現代碼

asp.net XML文件操作實現代碼

編輯:ASP.NET基礎
以前也學過一些這方面的知識,好久都沒怎麼用了,忘得也差不多,正好現在可以重新鞏固一遍,熟悉一下對XML文件的操作。
  XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標准通用標記語言)。Xml是Internet環境中跨平台的,依賴於內容的技術,是當前處理結構化文檔信息的有力工具。
  擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單易於掌握和使用。  
  XML數據類型有:Element,Attribute,Comment,Text
  如下一個簡單的XML文件:
代碼
復制代碼 代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<library>
<books id="計算機類">
<book id="10001">
<name>書名1</name>
<publish>出版社1</publish>
<price>價格1</price>
</book>
<book id="10002">
<name>書名2</name>
<publish>出版社2</publish>
<price>價格2</price>
</book>
</books>
<books id="人文類">
<book id="20001">
<name>書名1</name>
<publish>出版社1</publish>
<price>價格1</price>
</book>
<book id="20002">
<name>書名2</name>
<publish>出版社2</publish>
<price>價格2</price>
</book>
</books>
</library>

  Element 元素 <book></book>
  Attribute 屬性 id="計算機類"
  Text 內容 <name>書名2</name>

  一般我們要去XML文件中根據屬性值去查找對應節點所包含的內容,為了避免嵌套很多節點的循環,我們可以使用下面的方法,找到所需的節點。
  XmlDocument xdoc = new XmlDocument(); //建立文檔對象
  xdoc.Load("book.xml"); //加載xml文件
  string Condition = "//books[@id='計算機類']//book[@id='10001']"; //需要查找節點的條件
  XmlNode node = xdoc.DocumentElement.SelectSingleNode(Condition); //返回符合條件的節點
  foreach (XmlNode xnode1 in node)
{
//該節點下所有子節點
XmlNodeList xNodeList2 = node.ChildNodes;
  }

  查詢條件說明:
  1.使用text()來獲取Text節點
  string Condition = "//books[@id='計算機類']//book[@id='10001']//name//text()";
  2.使用[]符號來查詢特定條件的節點
  string Condition = "//books[@id='計算機類']//book[@id='10001']";
  3.使用 | 符號可以獲得多重模式的節點
  string Condition = "//books[@id='計算機類']//book[@id='10001'] | //books[@id='計算機類']//book[@id='10002']";
  4.使用*符號可以返回當前節點的所有子節點
  string Condition = "//books[@id='計算機類']//*//name";
 
XML數據的編輯:
1.增加一個元素的屬性(Attribute)節點
   XmlNode xNodeAtt = new XmlNode();
 xNodeAtt = xDoc.CreateAttribute("id",book);
 xNodeAtt.InnerXml = "10003";
 objNode.Attributes.Append(xNodeAtt);
2.刪除一個元素的屬性
    objNode.Attributes.Remove(xAtt);
3.增加一個子元素(Element)
    XmlNode xNodeAtt = new XmlNode();
  xNodeAtt = xDoc.CreateElement("book","書");
 xNodeAtt.InnerXml = "10003";
 objNode.Attributes.Append(xNodeAtt);
4.刪除一個子元素
    objNode.RemoveChild(nodeChild);
5.替換一個子元素
    objNode.ReplaceChild(newChild,oldChile);
來自:http://zhf.cnblogs.com/
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved