首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否删除XML根目录下的特定节点?

是否删除XML根目录下的特定节点?
EN

Stack Overflow用户
提问于 2012-01-23 23:46:58
回答 3查看 1.9K关注 0票数 6

我的XML如下;

代码语言:javascript
复制
<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中删除“扩展”节点。去掉进程后,会是这样的;

代码语言:javascript
复制
<XML ID="Microsoft Search Thesaurus">
 <thesaurus xmlns="x-schema:tsSchema.xml">

 </thesaurus>
</XML>

我的代码如下;

代码语言:javascript
复制
XDocument tseng = XDocument.Load("C:\\tseng.xml");
XElement root = tseng.Element("XML").Element("thesaurus");
root.Remove();
tseng.Save("C:\\tseng.xml");

我得到一个错误"Object reference not set to a instance of a object“。行"root.Remove()“。如何从XML文件中删除“扩展”节点?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-23 23:54:04

使用:

将仅删除expansion元素:

代码语言:javascript
复制
XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus")
    .Elements(ns + "expansion").Remove();

将删除thesaurus的所有子项

代码语言:javascript
复制
XNamespace ns = "x-schema:tsSchema.xml";
tseng.Root.Element(ns + "thesaurus").Elements().Remove();
票数 3
EN

Stack Overflow用户

发布于 2012-01-23 23:52:45

就像这样

代码语言:javascript
复制
XElement root = tseng.Element("XML").Element("thesaurus"); 
tseng.Element("XML").Remove(thesaurus);

将一个节点从它的父节点中移除...

如果您只想删除扩展节点,那么基本上可以找到一个remove,直到tere在同义词库中不存在,或者返回它们的列表并循环从其父同义词库中删除它们。

票数 0
EN

Stack Overflow用户

发布于 2012-01-23 23:58:49

您没有成功,因为您的thesaurus具有不同的名称空间。您需要指定ti才能使其正常工作。

代码语言:javascript
复制
XNamespace ns = "x-schema:tsSchema.xml";
XDocument tseng = XDocument.Parse(xml);

XElement root = tseng.Element("XML").Element(ns + "thesaurus");
root.Elements().Remove();

一般来说,您的代码是有效的。您唯一需要删除的是子元素,而不是root元素,才能得到所需的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8974338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档