【问题标题】:How to remove namespace from an XML Element using C#如何使用 C# 从 XML 元素中删除命名空间
【发布时间】:2010-06-08 17:48:41
【问题描述】:

我有一个 XML,其中有一个名称空间 _spreadSheetNameSapce。在我的代码中,我必须添加一个新元素,其属性与空间名称相关联,我正在这样做

XElement customHeading = new XElement("Row",
    new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0"));

它会正确创建XElement,但它也会在同一元素中插入xmlns="" 条目。我不希望创建该元素。如何在没有空命名空间的情况下创建 XElement,或者如何在创建元素后删除命名空间?

【问题讨论】:

标签: c# linq-to-xml xelement


【解决方案1】:

您的代码当前正在创建一个没有命名空间的元素。大概这是在名称空间中 is 的元素内,这就是它添加 xmlns="" 部分的原因。如果您只是希望它保持在同一个命名空间中,只需使用:

XElement customHeading = new XElement(_spreadSheetNameSapce + "Row",
        new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0"));

再次强调,这不是移除一个命名空间——而是将一个元素放入与从其父元素继承的“默认”相同的命名空间中。

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2015-01-26
    相关资源
    最近更新 更多