如何更新xml中的现有节点并将新节点添加到现有xml文件中? [英] How can I update the existing node in xml and add new node into existing xml file?

查看:76
本文介绍了如何更新xml中的现有节点并将新节点添加到现有xml文件中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的xml文件



 <?  xml     version   =  1.0   编码  =  UTF-8   独立  =     >  
< span class =code-keyword>< MediaPlayer >
< B ody >
< 姓名 > Mp3播放器< /姓名 >
< >
< 星期一 >
< FiveToNine > 旧卡纳达语< / FiveToNine >
< NineToLeven & gt; 新Kannada < / NineToLeven >
< LevenToThirteen > 新印地语< / LevenToThirteen >
< 十三至十三 > Old Hindi < / ThirteenToFourteen >
< ForteenToFifteen > 旧英语< / ForteenToFifteen >
< FifteenToSeventeen < span class =code-keyword>> 新英文< / FifteenToSeventeen < span class =code-keyword>>
< SeventeenToEighteen > 旧马拉雅拉姆< / SeventeenToEighteen >
< 十八天? > 新马拉雅拉姆语< / EighteenToTwenty >
< TwentyToTwentytwo > 旧泰米尔语< / TwentyToTwentytwo >
< TwentytwoToTwentyfour > 新泰米尔语< / TwentytwoToTwentyfour >
< ZeroToFive > 阿拉伯语< / ZeroToFive >
< / Monday >

< 星期二 >
< < span class =code-leadattribute> FiveToNine > AAAAAA < / FiveToNine >
< < span class =code-leadattribute> NineToLeven > BBBBBBB < / NineToLeven >
< < span class =code-leadattribute> LevenToThirteen > CCCCCCCC < / LevenToThirteen >
< < span class =code-le adattribute> ThirteenToFourteen > DDDDDDDD < /十三至十三 >
< ForteenToFifteen > EEEEEEE < / ForteenToFifteen >
< FifteenToSeventeen > FFFFFFF < / FifteenToSeventeen >
< SeventeenToEighteen > GGGGGGG < / SeventeenToEighteen >
< EighteenToTwenty > HHHHHHH < / EighteenToTwenty >
< TwentyToTwentytwo > IIIIIIIIII < / TwentyToTwentytwo >
< TwentytwoToTwentyfour > JJJJJJJJJJJ < / TwentytwoToTwentyfour >
< ZeroToFive > KKKKKKKK < / ZeroToFive >
< / Tuesday >

< / Days >
< / Body >
< / MediaPlayer >





现在我想在< monday>里面添加一个新节点列表节点,我想更新< monday>内的一个节点的值节点。



任何人都能帮帮我吗?



感谢@ dv @ nce ... 。:P

解决方案

试试这个...... :)



http://forums.asp.net/t/1322024.aspx/1 [ ^ ]


简单明了......改变ie

  var  doc = XDocument.Load([FILENAME]); 
doc.Root [ Body] [ 星期一] [ FiveToNine ] = 什么;

添加< pre lang =c#> var myNewElement = new XElement( NodeName NodeValue );
doc.Root [ Body] [ 星期一]。添加(myNewElement);

然后保存...



也许你想看看这些页面 [ ^ ]



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

抱歉,混淆了XmlDocument和XDocument ....



< pre lang =c#> static void Main( string [] args)
{

var doc = new XmlDocument();

doc.Load( @ MyFile.xml);

// 更改
Console.WriteLine(doc [ MediaPlayer] [ Body] [ 名称]。InnerText );

doc [ MediaPlayer] [ 正文] [ 名称]。InnerText = 其他;

Console.WriteLine(doc [ MediaPlayer] [ 正文] [ 名称]的innerText)。

// 添加
var newNode = doc.CreateElement( Wednesday);
doc [ MediaPlayer] [ Body]。AppendChild(newNode);

Console.WriteLine(doc [ MediaPlayer] [ Body]。InnerXml);

Console.WriteLine( 完成......);
Console.ReadLine();

}


I have xml file like this

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<MediaPlayer>
    <Body>
        <Name>Mp3 Player</Name>
        <Days>
        <Monday>
            <FiveToNine>Old Kannada</FiveToNine>
            <NineToLeven>New Kannada</NineToLeven>
            <LevenToThirteen>New Hindi</LevenToThirteen>
            <ThirteenToFourteen>Old Hindi</ThirteenToFourteen>
            <ForteenToFifteen>Old English</ForteenToFifteen>
            <FifteenToSeventeen>New English</FifteenToSeventeen>
            <SeventeenToEighteen>Old Malayalam</SeventeenToEighteen>
            <EighteenToTwenty>New Malayalam</EighteenToTwenty>
            <TwentyToTwentytwo>Old Tamil</TwentyToTwentytwo>
            <TwentytwoToTwentyfour>New Tamil</TwentytwoToTwentyfour>
            <ZeroToFive>Arabic</ZeroToFive>
        </Monday>

        <Tuesday>
            <FiveToNine>AAAAAA</FiveToNine>
            <NineToLeven>BBBBBBB</NineToLeven>
            <LevenToThirteen>CCCCCCCC</LevenToThirteen>
            <ThirteenToFourteen>DDDDDDDD</ThirteenToFourteen>
            <ForteenToFifteen>EEEEEEE</ForteenToFifteen>
            <FifteenToSeventeen>FFFFFFF</FifteenToSeventeen>
            <SeventeenToEighteen>GGGGGGG</SeventeenToEighteen>
            <EighteenToTwenty>HHHHHHH</EighteenToTwenty>
            <TwentyToTwentytwo>IIIIIIIIII</TwentyToTwentytwo>
            <TwentytwoToTwentyfour>JJJJJJJJJJJ</TwentytwoToTwentyfour>
            <ZeroToFive>KKKKKKKK</ZeroToFive>
        </Tuesday>

    </Days>
  </Body>
</MediaPlayer>



Now I want to add a new node list inside <monday> node, and I want to update the value of one node inside <monday> node.

Can any one help me please?

Thanks in @dv@nce....:P

解决方案

try this...:)

http://forums.asp.net/t/1322024.aspx/1[^]


Plain and simple... to change i.e.

var doc = XDocument.Load([FILENAME]);
doc.Root["Body"]["Monday"]["FiveToNine"] = "What ever";

to add

var myNewElement = new XElement("NodeName", "NodeValue");
doc.Root["Body"]["Monday"].Add(myNewElement);

and save it afterwards...

Maybe you want to take a look at these pages[^]

---------------------------
Sorry, mixed up XmlDocument and XDocument....

static void Main(string[] args) 
{

    var doc = new XmlDocument();

    doc.Load(@"MyFile.xml");

    //To change
    Console.WriteLine(doc["MediaPlayer"]["Body"]["Name"].InnerText);
    
    doc["MediaPlayer"]["Body"]["Name"].InnerText = "Something else";

    Console.WriteLine(doc["MediaPlayer"]["Body"]["Name"].InnerText);

    //To add
    var newNode = doc.CreateElement("Wednesday");
    doc["MediaPlayer"]["Body"].AppendChild(newNode);

    Console.WriteLine(doc["MediaPlayer"]["Body"].InnerXml);

    Console.WriteLine("Done...");
    Console.ReadLine();

}


这篇关于如何更新xml中的现有节点并将新节点添加到现有xml文件中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆