如何使用C#添加XMl节点属性?

时间:2015-07-15 05:05:23

标签: c# xml console-application

我需要在XML文件中添加以下XML节点。

<preference name='phonegap-version' value='cli-5.1.1' />

但我变得喜欢

<preference name="'phonegap-version' value='cli-5.1.1'" xmlns="" />

我在C#中使用了以下代码。

XmlElement preference = doc.CreateElement("preference");
root.AppendChild(preference);
XmlAttribute newAttribute = doc.CreateAttribute("name");
newAttribute.Value="'phonegap-version' value='cli-5.1.1'";
preference.Attributes.Append(newAttribute);
你能解决吗? 提前谢谢......

3 个答案:

答案 0 :(得分:1)

使用XDocument,您可以尝试:

XDocument doc = XDocument.Load("doc.xml");
XElement el = new XElement("preference", new Object[] {new XAttribute("name", "phonegap-version"), new XAttribute("value", "cli-5.1.1")});
doc.Add(el);
doc.Save("doc.xml");

答案 1 :(得分:0)

我发现System.Xml.Linq更容易使用。试试这个:

        XDocument doc = XDocument.Load("yourpath.xml");
        XElement root = doc.Root;
        root.Add(new XElement("preference",
            new XAttribute("name", "'phonegap-version'"),
            new XAttribute("value", "'cli-5.1.1'")));
        doc.Save("yourpath.xml");

答案 2 :(得分:-1)

foreach (XmlNodenode in preferance)
{

    // if element already there, it will override
    XmlAttribute newAttr = xdoc.CreateAttribute("value");
    newAttr.Value = "cli-5.1.1";
    node.Attributes.Append(newAttr);
}