用XML编写名称空间
本文关键字:空间 XML | 更新日期: 2023-09-27 17:50:55
我需要使用c#类(XmlDocument或XDocument)生成一个具有以下根元素的XML文件:
<ns1:ConsultaSeqRps xmlns:ns1="http://localhost:8080/WsNFe2/lote"
xmlns:tipos="http://localhost:8080/WsNFe2/tp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost:8080/WsNFe2/lote http://localhost:8080/WsNFe2/xsd/ConsultaSeqRps.xsd">
我尝试了使用setAttribute和XmlNamespaceManager的各种替代方案,但没有成功。
非常简单,除了使用XAttribute添加命名空间:
XNamespace ns1 = "http://localhost:8080/WsNFe2/lote";
XNamespace tipos = "http://localhost:8080/WsNFe2/tp";
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
var doc = new XElement(ns1 + "ConsultaSeqRps",
new XAttribute(XNamespace.Xmlns + "ns1", ns1),
new XAttribute(XNamespace.Xmlns + "tipos", tipos),
new XAttribute(XNamespace.Xmlns + "xsi", xsi),
new XAttribute(xsi + "schemaLocation",
"http://localhost:8080/WsNFe2/lote http://localhost:8080/WsNFe2/xsd/ConsultaSeqRps.xsd")
);
您可以利用LINQ to XML,下面的文章将帮助您在c#中创建名称空间如何:用命名空间创建文档(c#) (LINQ到XML)
希望对你有帮助。
对