我正在反对第三方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都被声明在顶端,我认为这意味着我必须在每个节点上声明它们.
好的,这里是
原文链接:https://www.f2er.com/xml/292934.htmlXmlDocument.CreateElement("prefix","name","uri");
参考这里,如果它帮助别人:http://msdn.microsoft.com/en-us/library/c22k3d47.aspx 1