Llamo a un servicio web expuesto por Oracle que acepta una entrada de un ID de elemento y me devuelve el número de artículo correspondiente. Quiero obtener el Número de artículo que se ha devuelto del XML contenido en la respuesta.¿Cuál es una buena manera de encontrar un valor específico en un documento XML usando C#?
El XML tiene el siguiente aspecto:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://dev1/MyWebService1.wsdl">
<env:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
env:mustUnderstand="1"/>
</env:Header>
<env:Body>
<ns0:getItemNbrByItemIdResponseElement>
<ns0:result>1010603</ns0:result>
</ns0:getItemNbrByItemIdResponseElement>
</env:Body>
</env:Envelope>
Estoy interesado en agarrar sólo el <ns0:result>1010603</ns0:result>
particular sólo el 1010603.
no he hecho mucho trabajo analizar XML usando C# y yo Estoy jugando con algunos métodos diferentes hasta ahora. cual es la manera recomendada para hacer esto?
Estoy en VS2008 (por lo XPath está disponible, etc.)
De acuerdo; sin LINQ necesitarías usar namespace-managers y todo tipo de cosas, esto es mucho más simple. –
"necesita" es una palabra fuerte :) – annakata
+1, los espacios de nombres "necesitan" ser más fáciles de trabajar que XLINQ funciona bien – user7116