如何从下面的xml中检索网站名元素值?
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:63630/Service.svc</To>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IService/GetDemographic</Action>
</s:Header>
<s:Body>
<GetDemographic xmlns="http://tempuri.org/">
<userIdentifier>first value</userIdentifier>
<sitename>second value</sitename>
<demographicName>third value</demographicName>
</GetDemographic>
</s:Body>
</s:Envelope>
我尝试过以下代码返回null:
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(myXml);
var result = xmlDocument.SelectNodes("//sitename");
问题是Xml命名空间吗?我可以搜索任何名称空间值,因为sitename元素没有分配名称空间吗?
我发现下面的代码工作正常:
xmlDocument.SelectNodes("//*[local-name()='sitename']");
如何使其不区分大小写?
答案 0 :(得分:0)
尝试查看这些链接;)
.NET中不区分大小写的XPath:http://blogs.msdn.com/shjin/archive/2005/07/22/442025.aspx
使用XPath使用MSXML执行不区分大小写的搜索:http://support.microsoft.com/kb/315719
例如:
XMLDoc.SelectNodes("Cars/car[contains(.,'Protan')]")
上面选择的结果应与此选择的结果相等
XMLDoc.SelectNodes("Cars/car[contains(.,'protan')]")'
答案 1 :(得分:0)