【发布时间】:2017-09-25 11:34:12
【问题描述】:
我有以下 XML 文件。我想复制一个新的“测试”并更改测试的 ID。怎么可能?
我已经可以复制节点,不幸的是不在正确的位置(见图),我也无法更改 ID。 谁有我的解决方案?
之前:
之后:
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Before.xml");
XmlNode Set = xmldoc.DocumentElement;
string strXmlQuery = "/Toolings/Testing/Test1";
XmlNode NodeToCopy = Set.SelectSingleNode(strXmlQuery);
XmlNode NewNode = NodeToCopy.CloneNode(true);
NodeToCopy.AppendChild(NewNode);
Set.InsertAfter(NewNode, Set.LastChild);
XPathNavigator navigator = xmldoc.CreateNavigator();
navigator.MoveToRoot();
navigator.MoveToFirstChild();
navigator.MoveToFirstChild();
navigator.MoveToFirstChild();
navigator.MoveToFirstChild();
navigator.SetValue("5678");
xmldoc.Save(After.xml");
【问题讨论】:
-
你是说“之前”是正确的吗?因为“之后”更有意义。
-
最后,我想要一个“After”。所以“之后”是正确的。
-
知道了。但是您真的希望“测试”增加吗?测试1,测试2等..?这样做会使使用您的数据变得复杂,它们都应该只是“测试”。
-
是的,你是对的!当所有人都在调用“测试”时就足够了。没有增量。