我正在使用WebHarvest尝试从Woot.com接收数据,并得到了一些不同的错误。我能够获得第一个进程的网站,但是当我尝试在变量窗口中测试xpath时,我会得到错误org.xml.sax.SAXParseException;lineNumber: 86;columnNumber: 99;对实体"pt2“的引用必须以';‘分隔符结尾。如果我尝试使用漂亮的打印函数,它返回的XML格式不正确:对实体"pt2“的引用必须以';‘分隔符结尾。{:86,col:99]。最后,在我正在编写的脚本中,如果我在xpath标记中加上一个表达式,那么元素类型"xpath“必须后面跟着属性,">”或“/>”。能告诉我我做错了什么吗?我对WebHarvest非常陌生,对这种程序没有任何经验。
我的代码是:
<?xml version="1.0" encoding="UTF-8"?><config>
<xpath expression="(//div[@class="overview"])[1]//h2/text()">
<html-to-xml>
<http url="http://www.woot.com/"/>
</html-to-xml>
</xpath>
</config>发布于 2013-04-29 07:32:28
要使XML格式良好,必须在属性'中使用"而不是"。下面是:
<?xml version="1.0" encoding="UTF-8"?><config>
<xpath expression="(//div[@class='overview'])[1]//h2/text()">
<html-to-xml>
<http url="http://www.woot.com/"/>
</html-to-xml>
</xpath>
</config>您可以使用'或"包装属性。但是,无论如何也不能嵌套它。以下是几个例子:
<xpath expression='(//div[@class="overview"])[1]//h2/text()'> --- valid
<xpath expression='(//div[@class='overview'])[1]//h2/text()'> --- invalid
<xpath expression="(//div[@class="overview"])[1]//h2/text()"> --- invalid
<xpath expression='(//div[@class='overview'])[1]//h2/text()'> --- valid
<xpath expression="(//div[@class='overview'])[1]//h2/text()"> --- valid
<xpath expression="(//div[@class="overview"])[1]//h2/text()"> --- valid希望这能有所帮助。
https://stackoverflow.com/questions/16271021
复制相似问题