Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Парсинг HTML на JAVA с помощью XPath

47K
12 августа 2011 года
Psylon
10 / / 03.09.2009
Код:
package test;

import java.io.IOException;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;
import javax.xml.xpath.*;

public class xpath {

    public void find(String exp, String html) throws ParserConfigurationException,SAXException,IOException,XPathExpressionException {
        DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
        domFactory.setValidating(false);
        domFactory.setNamespaceAware(true);
        domFactory.setIgnoringComments(false);
        domFactory.setIgnoringElementContentWhitespace(false);
        domFactory.setExpandEntityReferences(false);
        DocumentBuilder builder = domFactory.newDocumentBuilder();
        Document doc = builder.parse(html);
        XPathFactory factory = XPathFactory.newInstance();
        XPath xpath = factory.newXPath();
        XPathExpression expr = xpath.compile(exp);
        Object result = expr.evaluate(doc, XPathConstants.NODESET);
        NodeList nodes = (NodeList) result;
        for (int i = 0; i < nodes.getLength(); i++) {
            System.out.println(nodes.item(i).getNodeValue());
        }
    }

}

Приложение выдает ошибку
java.net.MalformedURLException: no protocol:<html code>
в строке Document doc = builder.parse(html);
Вопрос как можно парсить html на JAVA с использованием XPath?
14
13 августа 2011 года
Phodopus
3.3K / / 19.06.2008
XPath есть язык запроса к XML документам.
HTML != XML
47K
13 августа 2011 года
Psylon
10 / / 03.09.2009
Окей, но в php он успешно используется для разбора html страниц.
И потом что у html что у xml есть дерево dom от чего xpath и отталкивается.
14
13 августа 2011 года
Phodopus
3.3K / / 19.06.2008
Окей, методу parse требуется параметр типа org.xml.sax.InputSource, а вы передаете ему String что ли?
47K
13 августа 2011 года
Psylon
10 / / 03.09.2009
Да строку, но как подсказывает IDE это не запрещено...
512
15 августа 2011 года
bnm
124 / / 17.10.2004
может поможет: http://jericho.htmlparser.net/docs/index.html
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог