以下のxmlからsitename要素の値を取得する方法は?
<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']");
大文字と小文字を区別しないようにする方法は?