Заменить элемент с XDocument вместо XmlDocument - PullRequest
1 голос
/ 04 августа 2011

Используя XDocument, как можно переписать следующий код?Этот код заменяет значения элемента на strValues.Элемент указан strKeys и strXPath = "/root/node/subnode[param1='value1' and param2='value2']".

    public static void ReplaceXmlElement(string strXPath, string[] strKeys, string[] strValues)
    {
        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(xmlFile.xml);
        XmlNode xNode = xDoc.SelectSingleNode(strXPath);
        int intTemp = 0;
        foreach (XmlNode node in xNode)
        {
            node.Name.ToString();
            if (node.Name == strKeys[intTemp])
            {
                node.InnerXml = strValues[intTemp];
                intTemp++;
            }
        }
        xDoc.Save(xmlFile.xml);
    }

1 Ответ

0 голосов
/ 04 августа 2011

http://msdn.microsoft.com/en-us/library/bb156083.aspx

XElement root = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5),
new XElement("Child6", 6)
);

XElement el = root.XPathSelectElement("./Child4");
...