WebHarvest XML没有很好地形成

时间:2013-04-29 04:04:33

标签: xml xpath webharvest non-well-formed

我正在使用WebHarvest尝试从Woot.com接收数据,我收到了一些不同的错误。我能够使用第一个进程获取网站,但是当我尝试在变量窗口内测试xpath时,我得到错误 org.xml.sax.SAXParseException; lineNumber:86; columnNumber:99;对实体“pt2”的引用必须以';'结尾定界符即可。如果我尝试使用漂亮的print函数,则返回 XML格式不正确:对实体“pt2”的引用必须以';'结尾分隔符。 {line:86,col:99]。最后,在我编写的脚本内部,如果我在表达式的xpath标签中输入元素类型“xpath”必须跟随attributespecifications, “>” 中或“/>”。有人能告诉我我做错了什么吗?我是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>

1 个答案:

答案 0 :(得分:0)

为了使格式良好的格式,您在属性&apos;中使用了&quot;而不是expression。这就是:

<?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>

您可以使用&apos;&quot;来包装属性。但是,它无论如何都不能嵌套。以下是一些例子:

 <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=&apos;overview&apos;])[1]//h2/text()'> --- valid
 <xpath expression="(//div[@class=&apos;overview&apos;])[1]//h2/text()"> --- valid
 <xpath expression="(//div[@class=&quot;overview&quot;])[1]//h2/text()"> --- valid

希望这会有所帮助。