如何使用C#在XML中编辑特定的子字符串

时间:2017-09-12 05:21:45

标签: c# xml

我有一个xml文件,例如看起来像这样。

<file>
 <add key="1" val="great.me"/>
 <add key="2" val="notSoGreat"/>
 <add key="3" val="lessGreat.me/yey" />
 <add key="4" val="soGreat/yey" />
</file>

我想将那些.me的值替换为.awesome。

ex:<add key="1" val="great.me"/>

<add key="1" val="great.awesome"/>

ex:<add key="3" val="lessGreat.me/yey"

<add key="3" val="lessGreat.awesome/yey"

你可以帮帮我们吗? TIA

2 个答案:

答案 0 :(得分:1)

试试这个,

string oldText = File.ReadAllText(filePath);
string newText = oldText.Replace("me", "awesome");
File.WriteAllText(filePath, newText, Encoding.UTF8);
xmlDoc = new XmlDocument();
xmlDoc.Load(filePath);

答案 1 :(得分:0)

    //load xml from file
    XmlDocument doc = new XmlDocument();
    doc.Load(@"E:\test1.xml");

    // get a list of nodes - 
    XmlNodeList allnodes = doc.SelectNodes("/file/add");

    // loop through all nodes
    foreach (XmlNode node in allnodes)
    {
       // get "value"
       XmlAttribute attrValue= node.Attributes["value"];   
       attrValue.value = "something";// use replace here     

    }

    // save new xml or you can overwrite
    doc.Save(@"E:\test1New.xml");