【发布时间】:2018-05-19 15:27:41
【问题描述】:
我有一个如下所示的 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 />
为什么不能正常工作?
【问题讨论】:
-
<notebook />等于<notebook></notebook> -
不是未封闭的标签;这是一个自封闭标签。如果您不想要自闭合标记,请使用模式告诉 .NET 它不是自闭合标记,或使用副本中概述的技术。
标签: c# xml-parsing