WebHarvest XML плохо сформирован

Я использую WebHarvest, чтобы попытаться получить данные от Woot.com, и я получаю несколько разных ошибок. Я могу получить веб-сайт с первым процессом, но когда я пытаюсь проверить xpath внутри окна переменной, я получаю ошибку org.xml.sax.SAXParseException; номер строки: 86; номер столбца: 99; Ссылка на сущность "pt2" должна заканчиваться символом ';' разделитель Если я пытаюсь использовать симпатичную функцию печати, она возвращает неверный формат XML: ссылка на сущность "pt2" должна заканчиваться символом ";" разделитель. {строка: 86, столб:99]. Наконец, внутри сценария, который я пишу, если я добавлю тег xpath с выражением, я получу тип элемента "xpath", за которым должны следовать либо атрибуты pecification, ">" или "/>". Может кто-нибудь сказать мне, что я делаю не так? Я очень новичок в 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 ответ

Решение

Чтобы сделать XML правильно сформированным, вы должны использовать &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

Надеюсь это поможет.

Другие вопросы по тегам