Problemas con un XML

28/11/2005 - 13:33 por IbanJBalasch | Informe spam
Buenas, tengo un problema con un XML a ver si alguien me hecha una
mano. Vamos a ello:

(Mas abajo esta el XML). Quiero recuperar el valor del atributo "code",
es decir, el "1000" pero no soy capaz de llegar a él. He probado con:

Dim nNameSpaceDomain As New XmlNamespaceManager(xmlEnvio.NameTable)
nNameSpaceDomain.AddNamespace("epp", "urn:ietf:params:xml:ns:epp-1.0")

opcion 1) xmlnode = xmlDocumento.selectsinglenode("msg",
nNameSpaceDomain)
opcion 2) xmlnode = xmlDocumento.selectsinglenode("/msg",
nNameSpaceDomain)
opcion 3) xmlnode = xmlDocumento.selectsinglenode("//msg",
nNameSpaceDomain)

codigo = xmlnode.attribute(0).innertext

.. y nada. He probado de usar el selectnodes de la siguiente manera:

opcion 1) xmlnodelist = xmlDocumento.selectnodes("//result",
nNameSpaceDomain)
opcion 2) xmlnodelist = xmlDocumento.selectnodes("//msg",
nNameSpaceDomain)

foreach xmlnode in xmlnodelist
codigo = xmlnode.attribute(0).innertext
next


Realmente estoy perdido porque ni debuggando soy capaz de mostrar en la
pantalla de debug el valor "1000" del atributo "code".

XML:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<response>
<result code="1000">
<msg>Operación llevada a cabo con éxito</msg>
</result>
<resData>
<contact:chkData>
<contact:cd>
<contact:id avail="true">XXXX-XXXXX-XX</contact:id>
</contact:cd>
</contact:chkData>
</resData>
<trID>
<clTRID>XX-XXXXX</clTRID>
<svTRID>1126780289343</svTRID>
</trID>
</response>
</epp>


Gracias de antemano por vuestra ayuda y un saludo.
 

Leer las respuestas

#1 carlos
28/11/2005 - 15:57 | Informe spam
HOla Iban prueba con esto.
dim nodo as xmlnode

nodo= xmlDocumento.selectsinglenode("/response/result[@code='1000']")

Espero que te sirva.
Un saludo,
Carlos.
"IbanJBalasch" escribió:

Buenas, tengo un problema con un XML a ver si alguien me hecha una
mano. Vamos a ello:

(Mas abajo esta el XML). Quiero recuperar el valor del atributo "code",
es decir, el "1000" pero no soy capaz de llegar a él. He probado con:

Dim nNameSpaceDomain As New XmlNamespaceManager(xmlEnvio.NameTable)
nNameSpaceDomain.AddNamespace("epp", "urn:ietf:params:xml:ns:epp-1.0")

opcion 1) xmlnode = xmlDocumento.selectsinglenode("msg",
nNameSpaceDomain)
opcion 2) xmlnode = xmlDocumento.selectsinglenode("/msg",
nNameSpaceDomain)
opcion 3) xmlnode = xmlDocumento.selectsinglenode("//msg",
nNameSpaceDomain)

codigo = xmlnode.attribute(0).innertext

... y nada. He probado de usar el selectnodes de la siguiente manera:

opcion 1) xmlnodelist = xmlDocumento.selectnodes("//result",
nNameSpaceDomain)
opcion 2) xmlnodelist = xmlDocumento.selectnodes("//msg",
nNameSpaceDomain)

foreach xmlnode in xmlnodelist
codigo = xmlnode.attribute(0).innertext
next


Realmente estoy perdido porque ni debuggando soy capaz de mostrar en la
pantalla de debug el valor "1000" del atributo "code".

XML:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<response>
<result code="1000">
<msg>Operación llevada a cabo con éxito</msg>
</result>
<resData>
<contact:chkData>
<contact:cd>
<contact:id avail="true">XXXX-XXXXX-XX</contact:id>
</contact:cd>
</contact:chkData>
</resData>
<trID>
<clTRID>XX-XXXXX</clTRID>
<svTRID>1126780289343</svTRID>
</trID>
</response>
</epp>


Gracias de antemano por vuestra ayuda y un saludo.


Preguntas similares