C#程序中:如何修改xml文件中的節點(數據)



http://blog.csdn.net/langzi588/article/details/7827249

要想在web等程序中實現動態的數據內容給新(如網頁中的Flash),不會更新xml文件中的節點(數據)是遠遠不夠的,今天在這裏說一個簡單的xml文件的更新,方法比較基礎,很適合初學者看的,保證一看就懂!

------------------程序環境下xml文件中的節點、元素

<items>
<item 類別="娛樂" 品質="優">
<title>毛著</title>
<author>毛澤東</author>
<price>10.00</price>
</item>
<item 類別="文學" 品質="中">
<title>流浪記</title>
<author>三毛</author>
<price>15.00</price>
</item>
< /items>

----------------------

下面是程序,這幾天寫的程序只需要複製到VS中就可以看到效果

……

using System.Xml;
using System.IO;
namespace WriteXml

{

class Program
{
static void Main(string[] args)
{
updatexml();//修改節點(數據)
}

private static void updatexml()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("titles.xml");//加載xml文件,文件
XmlNode xns = xmlDoc.SelectSingleNode("items");//查找要修改的節點

XmlNodeList xnl = xns.ChildNodes;//取出所有的子節點

foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;//將節點轉換一下類型
if (xe.GetAttribute("類別") == "文學")//判斷該子節點是否是要查找的節點
{
xe.SetAttribute("類別","娛樂") ;//設置新值
}
else//爲了有更明顯的效果,所以不管是否是符合條件的子節點,我都給一個操作
{
xe.SetAttribute("類別", "文學");
}

XmlNodeList xnl2 = xe.ChildNodes;//取出該子節點下面的所有元素
foreach (XmlNode xn2 in xnl2)
{
XmlElement xe2 = (XmlElement)xn2;//轉換類型
if (xe2.Name=="price")//判斷是否是要查找的元素
{
if (xe2.InnerText == "10.00")//判斷該元素的值並設置該元素的值
xe2.InnerText = "15.00";
else
xe2.InnerText = "10.00";
}
//break;//這裏爲了明顯效果 我註釋了break,用的時候不用,這個大家都明白的哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章