在c#中更改XML文件的属性值

时间:2013-07-29 15:51:28

标签: c# xml xml-parsing xmltextreader

如何使用我的源代码更改属性“id”?

static void Main(string[] args)
    {

        XmlTextReader reader = new XmlTextReader(@"C:\Users\1.xml");
        XmlNodeList elementList = reader.
        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element: // The node is an element
                    {
                        reader.ReadToFollowing("command"); 
                        reader.MoveToAttribute("id");                         
                        Console.Write(reader.Value);
                        Console.WriteLine(" ");                    
                    }
                    break;
            }
        }           
        Console.Read();
    }

我看到了一些例子,但他们使用了另一种与我不兼容的方法。 (我是一个noobie)

2 个答案:

答案 0 :(得分:1)

我会使用LINQ to XML

XElement doc=XDocument.Load(path);
foreach(var element in doc.Descendants().Elements("command"))
{
element.Attribute("id").Value=yourValue;
}
doc.Save(path);

这会改变每个命令元素的id属性

答案 1 :(得分:0)

上面的代码没有为我飞行

这是有效的想法

var doc = XDocument.Load(path);
    foreach(var element in doc.Descendants("command"))
    {
        element.Attribute("id").Value = id;
    }

doc.Save(path);

希望这可以节省你一些时间。