root和第一个子节点上的XDocument命名空间

时间:2017-06-04 09:24:55

标签: c# xml namespaces

我正在使用XDocument构建一个xml文件

XDocument single = new XDocument(
                new XDeclaration("1.0", "UTF-8", "true"),
                new XElement(_namespace + "vcards",
                    XElement.Parse(BuildCardEntry(contact))));

BuildCardEntry(contact)内部我也将命名空间添加到每个XElement。 但是我的代码就是这个

<vcards xmlns="urn:ietf:params:xml:ns:vcard-3.0">
  <vcard xmlns="urn:ietf:params:xml:ns:vcard-3.0">

这是

的内容
<vcards xmlns="urn:ietf:params:xml:ns:vcard-3.0">
  <vcard>

有人知道,如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

保存xml时使用SaveOptions.OmitDuplicateNamespaces参数。

single.Save(..., SaveOptions.OmitDuplicateNamespaces);