xpath 式の特定のパラメーターを考慮しない libxml2 ライブラリーの使用に問題があるため、あなたにアピールします。
解析しようとしている xml ファイルの例を次に示します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book title="Harry Potter" lang="eng" version="1">
<price>29.99</price>
</book>
<book title="Learning XML" lang="eng" version="2">
<price>38.95</price>
</book>
<book title="Learning C" lang="eng" version="2">
<price>39.95</price>
</book>
</bookstore>
母国語が英語でバージョンが初版の本をすべて抽出したいとします。
間違いがなければ、次の XPath 式を使用します。
//book[@lang='eng' and @version='1']
および私のコードの次の指示:
xmlChar * xpath_expression = "//book[@lang='eng' and @version='1']";
xmlXPathObjectPtr xpathRes = xmlXPathEvalExpression(xpath_expression, ctxt);
問題は、結果として、次のリクエストを実行したかのように本のリストを取得することです。
//book
Debian スクイーズ (2.7.8.dfsg-2 + squeeze7) が最新であることを知っていると、バージョンにバグがあるのではないかと思います...