Что библиотеки там для обработки XML на Google App Engine/Java Servlet

find $directory -type f -name "*.in"

немного короче всего этого (и безопаснее - имеет дело с пробелами в именах файлов и каталогов).

Возможно, ваш скрипт не работает для записей, в имени которых нет ., что делает $extension пустым.

6
задан Sam Hasler 23 June 2009 в 14:27
поделиться

7 ответов

В итоге я использовал JAXP с SAX API.

Добавление к моему сервлету чего-то вроде следующего:

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

....

InputStream in = connection.getInputStream();

InputSource responseXML = new InputSource(in);
final StringBuilder response = new StringBuilder();
DefaultHandler myHandler = new DefaultHandler() {

    public void startElement(String uri, String localName, String qName, 
            Attributes attributes) throws SAXException {
        if (localName.equals("elementname")) {
            response.append(attributes.getValue("attributename"));
            inElement = true;
        }
    }
    public void characters(char [] buf, int offset, int len) {
        if (inElement) {
            inElement = false;
            String s = new String(buf, offset, len);
            response.append(s);
            response.append("\n");
        }
    }
};

SAXParserFactory factory = SAXParserFactory.newInstance();
try {
    SAXParser parser = factory.newSAXParser();
    parser.parse(responseXML, myHandler);
} catch (ParserConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

in.close();
connection.disconnect();

....
5
ответ дан 9 December 2019 в 20:47
поделиться

Xerces (который предоставляет реализации как SAX, так и DOM) и Xalan (который обеспечивает поддержку преобразований) - оба были связаны с JDK начиная с версии 1.5 и поэтому уже настроены в стандартной установке Java

2
ответ дан 9 December 2019 в 20:47
поделиться

JDom имеет лучший (более простой) интерфейс, чем стандартный API Java XML.

0
ответ дан 9 December 2019 в 20:47
поделиться

Я полагаю, это зависит от ваших целей. Я использовал JAXB для маршалинга / демаршалинга xml в объекты Java, и он довольно быстрый, легко расширяемый и имеет хорошую поддержку сообщества.

Если вы не хотите писать схемы и что-то еще, тогда Мне повезло с dom4j , и он требует меньшего обучения.

2
ответ дан 9 December 2019 в 20:47
поделиться

вы можете использовать те же библиотеки, что и в среде без сервлетов.

0
ответ дан 9 December 2019 в 20:47
поделиться

Другой вариант, который имеет лучшую скорость, чем Xerces (в последний раз я их сравнивал), был Saxon .

0
ответ дан 9 December 2019 в 20:47
поделиться

Вы можете использовать JDOM , который требует xerces SAXParser. Однако AppEngine не предоставляет библиотеку xerces. Вы можете добавить его, скопировав его в папку WEB-INF / lib вашего проекта.

2
ответ дан 9 December 2019 в 20:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: