如何在 XElement 中使用特殊的 "xml" 命名空间前缀
How to use the special "xml" namespace prefix with XElement
我正在使用 XElement
在 C# 中构建一个 XML 文档,我正在尝试设置
<myEelment xml:space="preserve">
这是我目前的尝试:
myElement.SetAttributeValue(XName.Get("space", "xml"), "preserve");
但结果是这样的:
<myEelment p4:space="preserve" xmlns:p4="xml">
我明白这是怎么回事 - 当我想用作命名空间前缀时,我的代码使用 "xml" 作为命名空间 URI。我的问题是 AFAICT "xml" 命名空间前缀在某种程度上是隐式的,实际上没有与之关联的命名空间 URI。那么如何生成带有命名空间前缀 "xml"?
的属性
标准名称空间可作为 XNamespace
class 上的属性使用。用那个。
var myElement = doc.Descendants("myElement").Single();
myElement.SetAttributeValue(XNamespace.Xml + "space", "preserve");
我正在使用 XElement
在 C# 中构建一个 XML 文档,我正在尝试设置
<myEelment xml:space="preserve">
这是我目前的尝试:
myElement.SetAttributeValue(XName.Get("space", "xml"), "preserve");
但结果是这样的:
<myEelment p4:space="preserve" xmlns:p4="xml">
我明白这是怎么回事 - 当我想用作命名空间前缀时,我的代码使用 "xml" 作为命名空间 URI。我的问题是 AFAICT "xml" 命名空间前缀在某种程度上是隐式的,实际上没有与之关联的命名空间 URI。那么如何生成带有命名空间前缀 "xml"?
的属性标准名称空间可作为 XNamespace
class 上的属性使用。用那个。
var myElement = doc.Descendants("myElement").Single();
myElement.SetAttributeValue(XNamespace.Xml + "space", "preserve");