asp.net XML文件操作實(shí)現(xiàn)代碼
XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。Xml是Internet環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。
擴(kuò)展標(biāo)記語(yǔ)言XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用?! ?
XML數(shù)據(jù)類(lèi)型有:Element,Attribute,Comment,Text
如下一個(gè)簡(jiǎn)單的XML文件:
代碼
<?xml version="1.0" encoding="UTF-8"?>
<library>
<books id="計(jì)算機(jī)類(lèi)">
<book id="10001">
<name>書(shū)名1</name>
<publish>出版社1</publish>
<price>價(jià)格1</price>
</book>
<book id="10002">
<name>書(shū)名2</name>
<publish>出版社2</publish>
<price>價(jià)格2</price>
</book>
</books>
<books id="人文類(lèi)">
<book id="20001">
<name>書(shū)名1</name>
<publish>出版社1</publish>
<price>價(jià)格1</price>
</book>
<book id="20002">
<name>書(shū)名2</name>
<publish>出版社2</publish>
<price>價(jià)格2</price>
</book>
</books>
</library>
Element 元素 <book></book>
Attribute 屬性 id="計(jì)算機(jī)類(lèi)"
Text 內(nèi)容 <name>書(shū)名2</name>
一般我們要去XML文件中根據(jù)屬性值去查找對(duì)應(yīng)節(jié)點(diǎn)所包含的內(nèi)容,為了避免嵌套很多節(jié)點(diǎn)的循環(huán),我們可以使用下面的方法,找到所需的節(jié)點(diǎn)。
XmlDocument xdoc = new XmlDocument(); //建立文檔對(duì)象
xdoc.Load("book.xml"); //加載xml文件
string Condition = "http://books[@id='計(jì)算機(jī)類(lèi)']//book[@id='10001']"; //需要查找節(jié)點(diǎn)的條件
XmlNode node = xdoc.DocumentElement.SelectSingleNode(Condition); //返回符合條件的節(jié)點(diǎn)
foreach (XmlNode xnode1 in node)
{
//該節(jié)點(diǎn)下所有子節(jié)點(diǎn)
XmlNodeList xNodeList2 = node.ChildNodes;
}
查詢條件說(shuō)明:
1.使用text()來(lái)獲取Text節(jié)點(diǎn)
string Condition = "http://books[@id='計(jì)算機(jī)類(lèi)']//book[@id='10001']//name//text()";
2.使用[]符號(hào)來(lái)查詢特定條件的節(jié)點(diǎn)
string Condition = "http://books[@id='計(jì)算機(jī)類(lèi)']//book[@id='10001']";
3.使用 | 符號(hào)可以獲得多重模式的節(jié)點(diǎn)
string Condition = "http://books[@id='計(jì)算機(jī)類(lèi)']//book[@id='10001'] | //books[@id='計(jì)算機(jī)類(lèi)']//book[@id='10002']";
4.使用*符號(hào)可以返回當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)
string Condition = "http://books[@id='計(jì)算機(jī)類(lèi)']//*//name";
XML數(shù)據(jù)的編輯:
1.增加一個(gè)元素的屬性(Attribute)節(jié)點(diǎn)
XmlNode xNodeAtt = new XmlNode();
xNodeAtt = xDoc.CreateAttribute("id",book);
xNodeAtt.InnerXml = "10003";
objNode.Attributes.Append(xNodeAtt);
2.刪除一個(gè)元素的屬性
objNode.Attributes.Remove(xAtt);
3.增加一個(gè)子元素(Element)
XmlNode xNodeAtt = new XmlNode();
xNodeAtt = xDoc.CreateElement("book","書(shū)");
xNodeAtt.InnerXml = "10003";
objNode.Attributes.Append(xNodeAtt);
4.刪除一個(gè)子元素
objNode.RemoveChild(nodeChild);
5.替換一個(gè)子元素
objNode.ReplaceChild(newChild,oldChile);
來(lái)自:http://zhf.cnblogs.com/
- asp.net類(lèi)序列化生成xml文件實(shí)例詳解
- asp.net中XML如何做增刪改查操作
- ASP.NET XmlDocument類(lèi)詳解
- ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例
- asp.net操作xml增刪改示例分享
- asp.net TreeView與XML三步生成列表樹(shù)
- ASP.NET+XML打造網(wǎng)絡(luò)硬盤(pán)原理分析
- ASP.NET讀取XML文件4種方法分析
- asp.net下XML的加密和解密實(shí)現(xiàn)方法
- asp.net 用XML生成放便擴(kuò)展的自定義樹(shù)
- asp.net實(shí)現(xiàn)輸出xml的方法
相關(guān)文章
.Net?Core讀取文件時(shí)中文亂碼問(wèn)題的解決方法分享
所以關(guān)于讀取文件亂碼的問(wèn)題,百度上有很多方案,這里再給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于.Net?Core讀取文件時(shí)中文亂碼問(wèn)題的解決方法,需要的朋友可以參考下2022-02-02
MessagePack 和System.Text.Json 序列化和反序列化性能及對(duì)比分析
這篇文章主要介紹了MessagePack 和System.Text.Json 序列化和反序列化性能及對(duì)比分析,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
asp.net(C#)防sql注入組件的實(shí)現(xiàn)代碼
經(jīng)常要寫(xiě)一些.net的程序,對(duì)于數(shù)據(jù)庫(kù)的防注入要求要比較高。這時(shí)我從網(wǎng)上搜了一些代碼。查看了一下主要是通過(guò)HTTPModel來(lái)進(jìn)行對(duì)客戶端轉(zhuǎn)過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理。2009-12-12
asp.net后臺(tái)動(dòng)態(tài)添加JS文件和css文件的引用實(shí)現(xiàn)方法
這篇文章主要介紹了asp.net后臺(tái)動(dòng)態(tài)添加JS文件和css文件的引用實(shí)現(xiàn)方法,是非常簡(jiǎn)單實(shí)用的技巧,需要的朋友可以參考下2014-09-09
Asp.net利用JQuery AJAX實(shí)現(xiàn)無(wú)刷新評(píng)論思路與代碼
Asp.net利用JQuery AJAX實(shí)現(xiàn)無(wú)刷新評(píng)論,此功能是每一個(gè)從事asp.net開(kāi)發(fā)者的朋友都希望實(shí)現(xiàn)的,本文利用閑暇時(shí)間整理了一些,有需要的朋友可以參考下2012-12-12
asp.net使用ODP即oracle連接方式的的防注入登錄驗(yàn)證程序
這篇文章主要介紹了asp.net使用ODP即oracle連接方式的的防注入登錄驗(yàn)證程序,需要的朋友可以參考下2014-05-05
asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)
相信很多人都遇到amr格式的音頻文件不能直接在網(wǎng)頁(yè)播放的問(wèn)題,有人使用QuickTime插件的輔助,下面這篇文章主要給大家介紹了asp.net音頻轉(zhuǎn)換之利用七牛轉(zhuǎn)換法將.amr格式轉(zhuǎn).mp3格式,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2016-12-12

