XDocument - 创建没有前缀的XAttribute Xmlns

时间:2013-12-23 13:46:03

标签: xml linq-to-xml

我正在尝试创建一个XML文档,以输入第三方Web服务(.asmx)。我正在使用Linq to Xml

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

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

new XAttribute(XNamespace.Xmlns + "xsi", xsiNs);

这为我提供了xmlns:xsi..... xsi前缀

所需的xmlns="urn:.......输出

但是,有一个没有这样前缀的属性:{{1}}

如何在没有该属性前缀的情况下添加名称空间?

1 个答案:

答案 0 :(得分:0)

像这个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" />