XDocument-创建不带前缀的XAttribute Xmlns

XDocument-创建不带前缀的XAttribute Xmlns,xml,linq-to-xml,Xml,Linq To Xml,我正在尝试创建一个XML文档,以便输入到第三方web服务(.asmx)。我正在使用linqtoxml 我正在使用如下名称空间生成XAttributes: XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance"; new XAttribute(XNamespace.Xmlns + "xsi", xsiNs); 这为我提供了所需的带有xsi前缀的xmlns:xsi….输出 但是,有一个属性没有这样的前缀:xmlns=“urn:

我正在尝试创建一个XML文档,以便输入到第三方web服务
(.asmx)
。我正在使用
linqtoxml

我正在使用如下名称空间生成
XAttributes

XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance";

new XAttribute(XNamespace.Xmlns + "xsi", xsiNs);
这为我提供了所需的带有
xsi
前缀的
xmlns:xsi….
输出

但是,有一个属性没有这样的前缀:
xmlns=“urn:….


如何实现只添加不带前缀的名称空间?

像这样的属性
xmlns=“urn:…”
是元素的名称空间(以及所有子元素的默认名称空间),因此如果要添加,请尝试以下操作:

    XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance";
    XNamespace defNs = "urn:dummy";
    var element = new XElement(defNs + "root", new XAttribute(XNamespace.Xmlns + "xsi", xsiNs));
结果如下:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:dummy" />