asp.net XML檔案操作實現代碼

來源:互聯網
上載者:User

以前也學過一些這方面的知識,好久都沒怎麼用了,忘得也差不多,正好現在可以重新鞏固一遍,熟悉一下對XML檔案的操作。
  XML(Extensible Markup Language)即可延伸標記語言 (XML),它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言 (SGML))。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/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.