【发布时间】:2016-10-10 21:49:13
【问题描述】:
我的 XAttribute 的命名空间在添加到父 XElement 时被意外修改。
我有一些 F# 代码如下所示:
let myRoot = XElement(XName.Get("MyRoot"))
let mychildxelement = XElement(XName.Get("MyXElement"))
myRoot.Add(mychildxelement)
myRoot.Add(XAttribute(XNamespace.Xmlns + "odata", "http://mynamespace"))
let name = XNamespace.Get("odata") + myattrname
mychildxelement.Add(XAttribute(name, "false"))
不幸的是,当我打印出 myRoot (myRoot.ToString()) 时,它会生成以下 xml:
<MyRoot xmlns:odata="http://mynamespace">
<MyXElement p3:myattrname="false" xmlns:p3="odata" />
</MyRoot>
出于某种原因,它将命名空间更改为“p3”,并在 XElement 的根级别添加了一个额外的命名空间快捷方式。我真的很想避免 Element 级别的 xmlns。有谁知道如何避免这种情况?
【问题讨论】:
-
请提供MCVE