gpt4 book ai didi

c# - 删除 XML 根目录下的特定节点?

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:55 27 4
gpt4 key购买 nike

我的 XML 在下面;

<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>1</diacritics_sensitive>
<expansion>
<sub>Internet Explorer</sub>
<sub>IE</sub>
<sub>IE5</sub>
</expansion>
<expansion>
<sub>run</sub>
<sub>jog</sub>
</expansion>
</thesaurus>
</XML>

我想从 XML 中删除“扩展”节点。去掉进程后就是这样;

<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">

</thesaurus>
</XML>

我的代码如下;

XDocument tseng = XDocument.Load("C:\\tseng.xml");
XElement root = tseng.Element("XML").Element("thesaurus");
root.Remove();
tseng.Save("C:\\tseng.xml");

我收到错误消息“对象引用未设置到对象的实例。”对于行“root.Remove()”。如何从 XML 文件中删除“扩展”节点?谢谢。

最佳答案

使用:

只会移除扩展元素:

XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus")
.Elements(ns + "expansion").Remove();

将删除thesaurus 的所有 child :

XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus").Elements().Remove();

关于c# - 删除 XML 根目录下的特定节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8974338/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com