如何使用 C# 从 XML 元素中删除命名空间
我有一个 XML,其中有一个名称空间 _spreadSheetNameSapce
。在我的代码中,我必须添加一个新元素,其属性与空间名称相关联,我的操作如下:
XElement customHeading = new XElement("Row",
new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0"));
它正确创建了 XElement
但它确实插入了 xmlns=""< /code> 条目也在同一元素中。我不想创建该元素。如何在没有空命名空间的情况下创建
XElement
,或者如何在创建元素后删除命名空间?
I have an XML where I have a name space _spreadSheetNameSapce
. In my code I have to add a new element with attribute associated with the name the space and I am doing it like the following
XElement customHeading = new XElement("Row",
new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0"));
It creates the XElement
properly but it does insert xmlns=""
entry also in the same element. I do not want that element to be created. How can I create the XElement
without the empty name space or how can I remove the namespace after the element is created?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码当前正在创建一个没有命名空间的元素。据推测,这是在命名空间中的元素内,这就是它添加
xmlns=""
部分的原因。如果您只想将其保留在同一个命名空间中,只需使用:再次强调,这并不是要删除命名空间 - 而是将元素放入与“默认”相同的命名空间中从其父母继承。
Your code is currently creating an element without a namespace. Presumably this is within an element which is in a namespace, which is why it's adding the
xmlns=""
part. If you just want it to keep within the same namespace, just use:Just to stress again, this isn't about removing a namespace - it's about putting an element into the same namespace as the "default" inherited from its parent.