1

xpath述語を使用して、解析されたXMLファイルの一部を取得しようとしていますが、構文エラーが発生し続けます:xpathクエリで特殊文字(「/」や「@」など)に演算子が必要です。クエリを一重引用符で囲むと失敗します。

?- load_xml_file( 'books.xml', DOM ).
DOM = [element(book, [genre=romance], ['\n   Gone With The Wind\n']), element(book, [genre=thriller], ['\n   The Shining\n'])].

?- load_xml_file( 'books.xml', DOM ), xpath(DOM, //book(@genre=thriller), Book).
ERROR: Syntax error: Operator expected
ERROR: load_xml_file( 'books.xml', DOM ), xpath(DOM, //
ERROR: ** here **
ERROR: book(@genre=thriller), Book) . 

?- load_xml_file( 'books.xml', DOM ), xpath(DOM, '//book(@genre=thriller)', Book).
false.

books.xmlの内容:

<?xml version="1.0"?>
<book genre="romance">
   Gone With The Wind
</book>
<book genre="thriller">
   The Shining
</book>
4

1 に答える 1

3

私はあなたが宣言を逃したと思います

:-use_module(library(xpath))。

于 2012-03-14T14:56:38.857 に答える