次の XML があります。
<?xml version="1.0" encoding="UTF-8" ?>
<bookstore xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 PORT_MT020001.xsd" type="Observation" classCode="OBS" moodCode="EVN">
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
XMLDocument.SelectNodes()
上記のxmlで次のように使用しようとすると:
XmlNodeList xmlNodelist = doc.SelectNodes("//book");
Console.WriteLine(xmlNodelist.Count);
次の結果が得られます。
0
xmlns
次のように、ルート ノードの属性値を空に変更すると、次のようになります。
<bookstore xmlns="" ...........>
次に、次の適切な結果が返されます。
2
なぜこうなった?ルート ノードのxmlns
属性値は、私にとって非常に重要です。この問題の解決策はありますか?