【发布时间】:2021-09-25 07:41:23
【问题描述】:
我不擅长xml理解,请帮助我 这是我需要的xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ENRC-IDOC_939_DigiDocs:idm">
<soapenv:Header />
<soapenv:Body>
<urn:mt_digidocs_fees>
这是我的代码
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration( "1.0", "UTF-8", null );
XmlElement root = doc.DocumentElement;
doc.InsertBefore(xmlDeclaration, root);
XmlElement envelope = doc.CreateElement("soapenv","Envelope", "http://schemas.xmlsoap.org/soap/envelope/");
XmlAttribute urn = doc.CreateAttribute("xmlns","urn", "http://www.w3.org/2000/xmlns/");
urn.Value = "urn:ENRC-IDOC_939_DigiDocs:idm";
envelope.Attributes.SetNamedItem(urn);
doc.AppendChild(envelope);
XmlNode soapenvheader = doc.CreateElement("soapenv", "Header", doc.DocumentElement.NamespaceURI);
envelope.AppendChild(soapenvheader);
XmlNode body = doc.CreateElement("soapenv", "Body", doc.DocumentElement.NamespaceURI);
envelope.AppendChild(body);
XmlElement mt_digidocs_fees = doc.CreateElement("mt_digidocs_fees");
mt_digidocs_fees.Prefix = "urn";
body.AppendChild(mt_digidocs_fees);
这就是我得到的
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:urn="urn:ENRC-IDOC_939_DigiDocs:idm" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<mt_digidocs_fees>
所以最后一个元素的名称不包含前缀和命名空间地址的顺序不同
提前致谢
【问题讨论】:
-
mt_digidocs_fees = doc.CreateElement("mt_digidocs_fees", "urn:ENRC-IDOC_939_DigiDocs:idm");? -
你为什么不直接使用 SOAP 库来为你做这件事?
-
@Liam 你能再解释一下吗?我刚得到 xml,并被要求以这种格式发送我的数据。似乎我必须阅读一些关于 SOAP 的内容
-
SOAP(简单对象访问协议)is a standard 尽管它已经很老了。视觉工作室supports this out of the box
-
或者它曾经,我不确定它是否仍然存在。如前所述,SOAP 现在已经很老了