首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何向XDocument添加多个名称空间声明?

如何向XDocument添加多个名称空间声明?
EN

Stack Overflow用户
提问于 2009-08-12 10:25:41
回答 1查看 16.4K关注 0票数 35

我正在使用XDocument以一种已知的结构构建一个Xml文档。我正在尝试构建的结构如下:

代码语言:javascript
复制
<request xmlns:ns4="http://www.example.com/a" xmlns:ns3="http://www.example.com/b" xmlns:ns2="http://www.example.com/c" >
    <requestId>d78d4056-a831-4c7d-a357-d14402f623fc</requestId>
    ....
</request>

注意"xmlns:nsX“属性。

我正在尝试将这些属性添加到我的"request“元素中,但没有成功。

代码语言:javascript
复制
XNamespace ns4 = XNamespace.Get("http://www.example.com/a");
XNamespace ns3 = XNamespace.Get("http://www.example.com/b");
XNamespace ns2 = XNamespace.Get("http://www.example.com/c");

XDocument doc = new XDocument(
    new XDeclaration("1.0", "utf-8", "no"),
    new XElement("request",
        new XAttribute("ns4", ns4),
        new XAttribute("ns3", ns3),
        new XAttribute("ns2", ns2),
        new XElement("requestId", Guid.NewGuid())
     )
);

但是,这会产生以下结果:

代码语言:javascript
复制
<request ns4="http://www.example.com/a" ns3="http://www.example.com/b" ns2="http://www.example.com/c">
  <requestId>38b07cfb-5e41-4d9a-97c8-4740c0432f11</requestId>
</request>

如何正确添加命名空间声明?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-12 10:28:31

你的意思是:

代码语言:javascript
复制
new XAttribute(XNamespace.Xmlns + "ns4", ns4),
new XAttribute(XNamespace.Xmlns + "ns3", ns3),
new XAttribute(XNamespace.Xmlns + "ns2", ns2),
票数 59
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1265378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档