XmlDocument を受け入れて XmlDocument を返す Web サービス/メソッドを利用しようとしています。この Web サービスへの参照を C# アプリケーションに追加すると、XmlDocuments の代わりに XmlNodes を使用するようにプロキシ コードが定義されます。これは、かなりよく認識されている動作のようです(ただし、確認および/または説明があると便利です。SO hereを参照してください)。
ただし、返された XmlNode オブジェクトを取得して "SelectNodes(XPath)" に対して単純な XPath クエリを実行しようとすると、ノードが見つかりませんが、一致するノードは存在します。
ただし、返された XmlNode の OuterXml を取得し、そこから新しい XmlDocument を作成すると、XPath クエリは予期したノードを見つけます。
何故ですか ?返された XmlDocument/XmlNode (またはそれらの間の変換)について、XPath クエリが期待どおりに動作しなくなるのは何ですか?
ありがとう。
編集: Xml は次のようになります。
<Results xmlns="">
<Result>
:
<Success>True</Success>
</Result>
<Result>
:
<Success>False</Success>
</Result>
</Results>
...そしてXPathは次のようになります...
Dim xPath As String = "//Result[Success='False']"
If (xmlResults.SelectNodes(xPath).Count > 0) Then
Throw New ApplicationException("Results returned indicate a problem:- " + xmlResults.OuterXml)
End If