运营商预计将在XPath查询错误SwiProlog
问题描述:
我试图使用XPath谓词拉了解析的XML文件的一部分,但不断收到语法错误:运营商有望在特殊字符(如“/”和“@ “)xpath查询。当我用单引号包围查询时,它会失败。运营商预计将在XPath查询错误SwiProlog
?- 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>
叫你请张贴的books.xml呢? – 2012-03-14 08:36:45
我试过 '//书(@风格=惊悚片)', '//书'(@风格=惊悚片), '//书'( '@流派'=惊悚片)和 '//书'(” @流派=惊悚')。这些都不会返回错误或错误。 – Clark 2012-03-14 12:30:19