我有一个看起来像这样的XDocument:
<?xml version="1.0"?>
<notebook>
<note>
<person>
<surname>Che Guevara</surname>
<name>Ernesto</name>
<birthdate>1926</birthdate>
<telephones>
<telephone>79626195740</telephone>
</telephones>
</person>
</note>
<note>
<person>
<surname>Castro</surname>
<name>Fidel</name>
<birthdate>1926</birthdate>
<telephones>
<telephone>79626195740</telephone>
<telephone>79636296751</telephone>
</telephones>
</person>
</note>
</notebook>
我需要删除所有节点“note”,所以我使用
xd.Element("notebook").Elements("note").Remove();
我无法弄清楚为什么这个方法会像我这样留下我的.xml文件
<?xml version="1.0" encoding="utf-8"?>
<notebook />
为什么它不能正常工作?
答案 0 :(得分:1)
它正常工作,你所指的notebook
元素被称为&#34;自闭元素&#34;。
使用XDocument时,<notebook />
表示与<notebook></notebook>
相同,但这可能会导致其他XML解析器出现问题,其中一些可能无法识别<notebook />
。
可能XDocument会生成自闭元素,因为它们更小,从而节省了空间。