mka*_*car 6 .net c# xml linq linq-to-xml
我的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>
Run Code Online (Sandbox Code Playgroud)
我想从XML中删除"扩展"节点.删除过程后,就像那样;
<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">
</thesaurus>
</XML>
Run Code Online (Sandbox Code Playgroud)
我的代码如下;
XDocument tseng = XDocument.Load("C:\\tseng.xml");
XElement root = tseng.Element("XML").Element("thesaurus");
root.Remove();
tseng.Save("C:\\tseng.xml");
Run Code Online (Sandbox Code Playgroud)
我收到错误"对象引用未设置为对象的实例".对于"root.Remove()"行.如何从XML文件中删除"扩展"节点?谢谢.
使用:
将仅删除expansion
元素:
XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus")
.Elements(ns + "expansion").Remove();
Run Code Online (Sandbox Code Playgroud)
将删除 的所有子项thesaurus
:
XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus").Elements().Remove();
Run Code Online (Sandbox Code Playgroud)