日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对Xml文档进行操作(修改,删除)

發布時間:2023/12/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对Xml文档进行操作(修改,删除) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<?xml version="1.0" encoding="utf-8"?>
<Products>
? <Product id="0" proName="aa1" proPrice="12" proInfo="bb">
? </Product>
? <Product id="1" proName="電腦" proPrice="3200" proInfo="電腦電腦電腦電腦電腦電腦">
? </Product>
? <Product id="2" proName="mp4" proPrice="400" proInfo="mp4mp4mp4mp4mp4mp4mp4mp4mp4">
? </Product>
? <Product id="3" proName="mp4" proPrice="400" proInfo="mp4mp4mp4mp4mp4mp4mp4mp4mp4">
? </Product>
? <Product id="4" proName="mp5" proPrice="500" proInfo="mp5mp5mp5mp5mp5mp5mp5mp5mp5">
? </Product>
</Products>

下面我們來看看如何對上面的xml文檔進行刪除和修改的操作:

其實很簡單,大概也是分一下幾個步驟:

1、將xml文檔加載到內存中

2、找到要刪除的節點(根據條件)

3、重新保存加載xml文檔

根絕代碼具體來看看如何操作

修改:

? protected void Button2_Click(object sender, EventArgs e)
??? {
??????? XmlDocument xmldocument = new XmlDocument();
??????? string path = Server.MapPath("~/Product.xml");
??????? xmldocument.Load(path);
??????? string xmlPath = "//Products//Product";

????????//根據路徑找到所有節點
??????? XmlNodeList nodeList = xmldocument.SelectNodes(xmlPath);

?????? //循環遍歷這些子
??????? foreach (XmlNode node in nodeList)
??????? {

?????????????//根據節點的某個屬性找到要操作的節點
??????????? if(node.Attributes["id"].Value=="4")
??????????? {

????????????????//對節點進行修改操作
??????????????? node.Attributes["proName"].Value = "aa1";
??????????????? node.Attributes["proPrice"].Value = "12";
??????????????? node.Attributes["proInfo"].Value = "bb";
??????????? }
???????????
??????? }

????????//重新加載保存
??????? xmldocument.Save(path);
??? }

上面是對xml進行的修改的操作,刪除基本和它差不多

刪除

?? protected void Button1_Click(object sender, EventArgs e)
??? {
??????? XmlDocument doc = new XmlDocument();
??????? string path = Server.MapPath("~/Product.xml");
??????? doc.Load(path);
??????? XmlNodeList xmlNodeList = doc.SelectNodes("//Products//Product");
??????? foreach (XmlNode xmlNode in xmlNodeList)
??????? {
??????????? if(xmlNode.Attributes["id"].Value=="4")
??????????? {

???????????????//找到父節點,從父節點刪除該節點
??????????????? xmlNode.ParentNode.RemoveChild(xmlNode);
??????????? }
??????? }
??????? doc.Save(path);
??? }

當然了,也可以刪除通過RomoveAllAttributes,RemoveAttribute或RemoveAttributeAt等來刪除屬性

前端時間,在一本項目教材書上,看到他們對Xml文檔處理的時候,在查找節點的時候用的是索引

XmlNode xmlNode = doc.SelectSingleNode("//Products//Product[5]");

本人認為這種方法不可取,我們一般都會讓你一個id對應一個節點,如果采取這種方式,那么很可能無法找到需要的節點,造成程序方面的錯誤,這是本人的一些見解,大家有什么意見可以提出來,共同學習!

轉載于:https://www.cnblogs.com/shuang121/archive/2011/03/01/1967799.html

總結

以上是生活随笔為你收集整理的对Xml文档进行操作(修改,删除)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。