.net - 使用 DotNet 从 XML 字符串中删除已知位置的元素的最佳方法?

标签 .net xml

我很欣赏 dotnet 中现在有许多机制以多种方式处理 XML...

假设我有一个包含 XML 的字符串....

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <Element1>
        <Element1_1>
            SomeData
        </Element1_1>
    </Element1>
    <Element2>
        Some More Data
    </Element2>
</root>

删除 Element1_1 的最简单(最易读)的方法是什么?

更新...我可以使用 .Net 3.5 中可用的任何 .Net API :D

最佳答案

您可以使用哪些 API?例如,您可以使用 .NET 3.5 和 LINQ to XML 吗?如果是这样,XNode.Remove是你的 friend - 只需选择 Element1_1(使用 LINQ to XML 可以轻松实现的多种方式中的任何一种)并对其调用 Remove()。

如何选择元素的例子:

XElement element = doc.XPathSelectElement("/root/Element1/Element1_1");
element.Remove();

或者:

XElement element = doc.Descendants("Element1_1").Single().Remove();

关于.net - 使用 DotNet 从 XML 字符串中删除已知位置的元素的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/221378/

相关文章:

c# - SafeWaitHandle 与 SafeFileHandle c#

c# - 如何强制 XmlSerializer 将元素序列化为编译类型的属性?

c# - 使用变量代替函数名

php - 在 xpath 中根据类和样式排除标签

java - Android开发中Java如何存储程序逻辑数据?

c# - 在C#中播放音频时调整平衡

c# - ORA-01858 : a non-numeric character was found where a numeric was expected

java - 避免在 Java 中使用 XPath 重复实例化 InputSource

java - 如何在单个类的基础上设置 JAXB 中元素的 elementFormDefault 而不是为整个包设置它?

java - Eclipse - gwtupload - maxSize