2016-07-12 5 views
-3

Мне нужно создать XML с этой структурой:Создание XML с XmlDocument C#

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:res="http://resource.webservice.correios.com.br/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <res:buscaEventos> 
     <usuario>ECT</usuario> 
     <senha>SRO</senha> 
     <tipo>L</tipo> 
     <resultado>T</resultado> 
     <lingua>101</lingua> 
     <objetos>JS331400752BR</objetos> 
     </res:buscaEventos> 
    </soapenv:Body> 
</soapenv:Envelope> 

Однако неправильна этот путь:

<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:res="http://resource.webservice.correios.com.br/"> 
    <soapenv:Header /> 
    <soapenv:Body> 
    <res:buscaEventos xmlns:res="http://schemas.xmlsoap.org/soap/envelope/"> 
     <usuario>ETC</usuario> 
     <senha>SRO</senha> 
     <tipo>L</tipo> 
     <resultado>T</resultado> 
     <lingua>101</lingua> 
     <objetos>JS331400752BR</objetos> 
    </res:buscaEventos> 
    </soapenv:Body> 
</soapenv:Envelope> 

Разница в buscaEventos

Я создал следующим образом XmlNode eventosNode = xmlDoc.CreateElement ("res " , " buscaEventos " " http://schemas.xmlsoap.org/soap/envelope/ ") ; Как удалить xmlns: res только этот узел?

+0

https://stackoverflow.com/questions/1772004/how-can-i-make-the-xmlserializer-only-serialize-plain-xml –

+1

Google, что прежде чем вы придете сюда, и вы получите ответ; есть множество сообщений в блогах и сообщения о том, как достичь этого –

ответ

0

Пространство имен res сопоставляется с http://resource.webservice.correios.com.br/ у корня, но когда вы создали buscaEventos, вы переназначили его.

Это может решить проблему:

XmlNode eventosNode = xmlDoc.CreateElement("res", "buscaEventos" 
    "http://resource.webservice.correios.com.br/") ; 
+0

Танки для помощи человеку :) –

Смежные вопросы