将Element替换为XDocument而不是XmlDocument

本文关键字:XmlDocument XDocument Element 替换 | 更新日期: 2023-09-27 18:04:22

使用XDocument,如何重写以下代码?这段代码将元素值替换为strValues。元素由strKeysstrXPath = "/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);
    }

将Element替换为XDocument而不是XmlDocument

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");