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

前端之家收集整理的这篇文章主要介绍了.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

原文链接:https://www.f2er.com/xml/292934.html

猜你在找的XML相关文章