C#中的Xml解析器

时间:2011-08-29 10:17:58

标签: c#

我想通过匹配name属性来更改key下的值 例如, 如果key下的name属性是ankit,那么相应的值应该从“no”更改为“yes” 我想用C sharp代码,请帮帮我 示例代码:

<abc>
    <setting name="NameSettings">
        <key name="ankit" value="no">
        <key name="rohan" value="Y"/>
        <key name="anoop" value="1"/>
    </setting>
</abc>

1 个答案:

答案 0 :(得分:3)

您可以使用XDocument

class Program
{
    static void Main()
    {
        var doc = XDocument.Load("test.xml");
        var key = doc
            .Descendants("setting")
            .Descendants("key")
            .FirstOrDefault(x => x.Attribute("name").Value == "ankit");
        if (key != null)
        {
            key.Attribute("value").Value = "yes";
        }
        doc.Save("new.xml");
    }
}