【问题标题】:.NET : How do you remove a specific node from an XMLDocument using XPATH?.NET:如何使用 XPATH 从 XMLDocument 中删除特定节点?
【发布时间】:2008-10-02 14:33:31
【问题描述】:

使用 C#

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

【问题讨论】:

标签: c# .net xpath


【解决方案1】:

如果您想删除不是文档根目录的直接子节点的节点,您可以这样做:

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

【讨论】:

    【解决方案2】:

    给你。 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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 技术上正确,但是您可以使用 System.Xml 库修改 XML 文档。 XPath 将帮助您到达 xml 文档的正确部分以便对其进行操作。
      猜你喜欢
      • 2010-09-06
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多