iluxa1810 Asked:2021-10-17 01:14:20 +0800 CST2021-10-17 01:14:20 +0800 CST 2021-10-17 01:14:20 +0800 CST 通过 XPath 创建节点 772 告诉我,在 C# 中是否有一种标准方法可以使用 XPath 创建整个节点分支? 假设我提供 XPath root/node1/node2/node3 作为输入,整个分支将在 XDocument 中为我创建。 还是只能用句柄一个一个地迭代地创建 XElement? c# 1 个回答 Voted Best Answer Yitzhak Khabinsky 2021-10-17T01:32:16+08:002021-10-17T01:32:16+08:00 例如。 C# void Main() { string XPath = "root/node1/node2/node3"; string[] root = { XPath.Split('/').First() }; XElement xmlTree = new XElement (XPath.Split('/').First()); foreach (string st in XPath.Split('/').Except(root)) { xmlTree.Add(new XElement(st, "some value")); } } 结果 <root> <node1>some value</node1> <node2>some value</node2> <node3>some value</node3> </root> 或者 void Main() { string XPath = "root/node1/node2/node3"; string[] root = { XPath.Split('/').First() }; XElement xmlTree = new XElement(XPath.Split('/').First()); foreach (string st in XPath.Split('/').Except(root)) { xmlTree.DescendantsAndSelf().Last().Add(new XElement(st)); } xmlTree.Dump(); } 结果 <root> <node1> <node2> <node3 /> </node2> </node1> </root>
例如。
C#
结果
或者
结果