Salve a tutti,
ho un problemino nel recuperare da una stringa XML un nodo (attraverso XPATH).
L'xml è questo:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<CBISEDADTechValSts
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:CBI:xsd:CBISEDADTechValSts.00.01.04 CBISEDADTechValSts.00.01.04.xsd"
xmlns="urn:CBI:xsd:CBISEDADTechValSts.00.01.04"
xmlns:LMSG="urn:CBI:xsd:CBISEDADTechValStsLogMsg.00.01.04">
<PhyMsgInf>
<OrgnlPhyMsgInfAndSts>
...
</OrgnlPhyMsgInfAndSts>
</PhyMsgInf>
<CBISEDADTechValStsLogMsg>
...
</CBISEDADTechValStsLogMsg>
</CBISEDADTechValSts>
Io leggo questo file con uno StreamReader e lo travaso su un XmlDocument:
codice:
StreamReader sr = new StreamReader("blablabla/seda_validazione.xml", Encoding.Default);
string xml = sr.ReadToEnd();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xml);
Fatto questo vorrei farmi dare tutti gli elementi CBISEDADTechValStsLogMsg:
codice:
XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(oXml_Flusso.NameTable);
xmlNamespaceManager.AddNamespace("BODY", "urn:CBI:xsd:CBISEDADTechValStsLogMsg.00.01.04");
xmlNamespaceManager.AddNamespace("DISTINTA", "urn:CBI:xsd:CBIBdySEDADTechValSts.00.01.04");
xmlNamespaceManager.AddNamespace("FIRMA", "urn:CBI:xsd:CBISgnInf.001.04");
var nodes = xmlDocument.SelectNodes("//CBISEDADTechValSts/CBISEDADTechValStsLogMsg", xmlNamespaceManager);
Gli xsd sono stati aggiunti al progetto ovviamente.
Però sto sbagliando qualcosa con xpath credo perché nodes è sempre vuoto, sarà l'ora ma non capisco cosa sbaglio :/ Qualche idea? Grazie