Какой самый быстрый метод для анализа XML? - PullRequest
0 голосов
/ 15 марта 2010

Какой самый быстрый (самый быстрый) метод для анализа xml в строке на платформе Java?

Размер файла может быть примерно 25кб.

Ограничение состоит в том, что я не представлен с XML-файлом, скорее, я должен разобрать строку XML!

Ответы [ 3 ]

3 голосов
/ 15 марта 2010

Вы можете построить дерево DOM с результатом анализа вашей строки XML. Вот метод Java, чтобы выполнить то, что вы хотите:

private static Document ParseXMLString(String xmlString) {
    try {
        DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = fac.newDocumentBuilder();
        InputSource inStream = new InputSource();
        inStream.setCharacterStream(new StringReader(xmlString));
        Document doc = db.parse(inStream);
        return doc;
    }
    catch (Exception e) {
        System.out.println(e);
    }
}
3 голосов
/ 15 марта 2010

Обычно у вас есть три варианта: DOM , SAX и StAX . DOM медленнее.

StAX , как говорят, обеспечивает "легкость DOM с эффективностью SAX". Но в случае, если документ, который вы показали, является целым документом - это действительно не имеет значения. Различия в производительности важны при работе с большими файлами.

2 голосов
/ 15 марта 2010

Вы должны применить к вашему случаю общие понятия из теории синтаксического анализа .

Объяснение сложности основных методов синтаксического анализа доступно в этой статье .

Что касается Java, здесь - это сравнение парсера XML в Java от Sun, Oracle и Apache.

Чтение из реферата статьи:

Мир парсера XML - это динамичный мир. Как меняются стандарты, парсеры также изменить - парсеры XML становится все более изощренным. Для большинства программирование проектов, парсер, при минимум, должен поддерживать DOM Level 2, SAX 2, XSLT и пространства имен. Все парсеры, обсуждаемые здесь, предоставляют эти возможности; Однако есть явные различия в производительности, надежность и соответствие стандарты. В этой статье я сравните последние парсеры от Sun, Oracle и программное обеспечение Apache Фонд.

Остальная часть анализа доступна здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...