如何使用C#从XML元素中删除命名空间

3

我有一个XML文件,其中有一个名称空间 _spreadSheetNameSapce。在我的代码中,我需要添加一个新元素,并与该名称空间相关联的属性,我是这样做的:

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

它正确地创建了XElement,但也在同一元素中插入了xmlns = ""条目。我不想创建该元素。如何在创建XElement时避免空名称空间,或者如何在创建元素后删除名称空间?

1
发现问题,代码应该是 new XElement(_SpreadSheetNameSpace + "Row" .... - Nair
1个回答

9

您的代码当前创建了一个没有命名空间的元素。假定这是在一个有命名空间的元素内部,这就是为什么它添加了xmlns=""部分的原因。如果您只想保持在同一命名空间内,只需使用:

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

再次强调,这不是关于移除命名空间的问题 - 而是将一个元素放到与其父元素继承的“默认”命名空间相同的命名空间中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接