【问题标题】:Remove node from xmlDocument [duplicate]从 xmlDocument 中删除节点 [重复]
【发布时间】:2014-11-13 22:00:17
【问题描述】:

我正在尝试根据输入从 XML 文档中删除一些节点,但出现以下错误...

要移除的节点不是该节点的子节点。

 XmlDocument document = new XmlDocument();
        document.Load(filePath);
        if (document == null)
            throw new Exception("Unable to load document.");

        foreach (string xPath in xPaths)
        {

            XmlNodeList oldChild = document.SelectNodes(xPath, mgr);
            if (oldChild != null)
            {
                foreach (XmlNode child in oldChild)
                {
                    document.RemoveChild(child);
                }
            }
        }

        document.Save(filePath);

谁能帮我解决我在这里的遗漏。

【问题讨论】:

    标签: c# xml c#-4.0 xmldocument


    【解决方案1】:

    RemoveChild 方法作用于节点的直接子节点。您正试图通过访问根节点 - 文档来删除一些内部(不是第一代)节点。 这里的技巧是获取父节点并从中移除子节点。

    child.ParentNode.RemoveChild(child)
    

    【讨论】:

    • 谢谢...这行得通。
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    相关资源
    最近更新 更多