N
not_a_commie
In the code below I'm trying to use an XPath to get the element
containing "boohaha". What would that XPath look like? My experiments
with the namespace manager don't seem to help much.
var xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-
instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">
<soap12:Header>
<NDTSoapHeader xmlns=""http://tempuri.org/"">
<AppPersonID>int</AppPersonID>
<UserGuid>guid</UserGuid>
<AuthTicket>
<xsd:schema>schema</xsd:schema>xml</AuthTicket>
<AgencyOfCurrentUser>string</AgencyOfCurrentUser>
<InvalidUser>boolean</InvalidUser>
<WSTime>double</WSTime>
</NDTSoapHeader>
<NDTSoapHeader xmlns=""http://tempuri.org/"">
<AppPersonID>int</AppPersonID>
<UserGuid>guid</UserGuid>
<AuthTicket></AuthTicket>
<AgencyOfCurrentUser>string</AgencyOfCurrentUser>
<InvalidUser>boolean</InvalidUser>
<WSTime>double</WSTime>
</NDTSoapHeader>
</soap12:Header>
<soap12:Body>
<JBQueueResponse xmlns=""http://tempuri.org/"">
<JBQueueResult>boohaha</JBQueueResult>
</JBQueueResponse>
</soap12:Body>
</soap12:Envelope>";
var reader = XmlReader.Create(new StringReader(xml));
var xd = XDocument.Load(reader);
var mgr = new XmlNamespaceManager(reader.NameTable);
mgr.AddNamespace("s", "soap12:http://www.w3.org/2003/05/soap-
envelope");
mgr.AddNamespace("j", "http://tempuri.org/");
var ret = xd.XPathSelectElement("//s:Envelope/s:Body/j:JBQueueResponse/
j:JBQueueResponse", mgr);
containing "boohaha". What would that XPath look like? My experiments
with the namespace manager don't seem to help much.
var xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-
instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">
<soap12:Header>
<NDTSoapHeader xmlns=""http://tempuri.org/"">
<AppPersonID>int</AppPersonID>
<UserGuid>guid</UserGuid>
<AuthTicket>
<xsd:schema>schema</xsd:schema>xml</AuthTicket>
<AgencyOfCurrentUser>string</AgencyOfCurrentUser>
<InvalidUser>boolean</InvalidUser>
<WSTime>double</WSTime>
</NDTSoapHeader>
<NDTSoapHeader xmlns=""http://tempuri.org/"">
<AppPersonID>int</AppPersonID>
<UserGuid>guid</UserGuid>
<AuthTicket></AuthTicket>
<AgencyOfCurrentUser>string</AgencyOfCurrentUser>
<InvalidUser>boolean</InvalidUser>
<WSTime>double</WSTime>
</NDTSoapHeader>
</soap12:Header>
<soap12:Body>
<JBQueueResponse xmlns=""http://tempuri.org/"">
<JBQueueResult>boohaha</JBQueueResult>
</JBQueueResponse>
</soap12:Body>
</soap12:Envelope>";
var reader = XmlReader.Create(new StringReader(xml));
var xd = XDocument.Load(reader);
var mgr = new XmlNamespaceManager(reader.NameTable);
mgr.AddNamespace("s", "soap12:http://www.w3.org/2003/05/soap-
envelope");
mgr.AddNamespace("j", "http://tempuri.org/");
var ret = xd.XPathSelectElement("//s:Envelope/s:Body/j:JBQueueResponse/
j:JBQueueResponse", mgr);