微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – 带冒号的xml元素名称

我正在反对第三方xml api.他们已经定义了类似于以下内容的必需的xml结构.
<ns1:E xmlns:ns1="schema">
<ns1:B>
    <ns2:S>
        <ns2:V>
            <ns2:Bl />
        </ns2:V>
    </ns2:S>
</ns1:B>
</ns1:E>

一个sql表与我需要放入这个xml格式的信息.我有一个LINQ to sql适配器来获取数据,我正在使用一个System.Xml来创建一个XML文档.

XmlDocument.CreateElement("ns1:E"); etc

只要我从元素名称删除冒号,这可以正常工作.在冒号中,只有冒号的右侧是元素名称.我知道冒号是不对的,但我没有任何控制第三方api的规定.

我有什么选择来解决这个问题?有没有什么有用的方法强制冒号进入元素名称?我不必使用XMLDocument,但不知道还有什么其他方法可以让我在那里.

更新:我意识到< ns1:指的是一个命名空间.是的,有2.当写出XML时,如果我说 - 我可以使它工作,

XmlDocument.CreateElement(ns1:E","http://schema);

但是,这是XML的输出

<ns1:E xmlns:ns1="http://schema">

如果我只是说XmlDocument.CreateElement(“ns1:E”);没有uri,那么输出只是< E>.我不希望输出具有模式引用,但我确实需要前缀.我想要实现的结果只是< ns1:E>.两个namspaces都被声明在顶端,我认为这意味着我必须在每个节点上声明它们.

好的,这里是
XmlDocument.CreateElement("prefix","name","uri");

参考这里,如果它帮助别人:http://msdn.microsoft.com/en-us/library/c22k3d47.aspx 1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。