.NET:如何使用XPATH从XMLDocument中删除特定节点?

9

使用C#

如何使用XPATH从XMLDocument中删除特定节点?


这是答案:https://dev59.com/wXVD5IYBdhLWcg3wTZ1m - Rakesh
3个回答

19

如果你想删除那些不是文档根节点的直接子节点,可以这样做:

XmlDocument doc = new XmlDocument();
// ... fill or load the XML Document
XmlNode childNode = doc.SelectSingleNode("/rootnode/childnode/etc"); // apply your xpath here
childNode.ParentNode.RemoveChild(childNode);

4

这就是你所需的。ChildNodeName,可能只是节点名称或XPath查询。

XmlDocument doc = new XmlDocument();

// Load you XML Document

XmlNode childNode = doc.SelectSingleNode(childNodeName);

// Remove from the document
doc.RemoveChild(childNode);

使用 Linq 有不同的方法,但我猜你正在使用 .NET 2.0


2
XPath只能从文档中选择节点,而不能修改文档。

3
从技术上讲,您可以使用System.Xml库修改XML文档。XPath将帮助您找到要操作的XML文档的正确部分。 - Vidar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接