2015-11-04 7 views
0

В моем документе xml присутствует doctype. При анализе XML-документа с помощью Apache Axiom он выдает следующую ошибку msg «org.apache.axiom.om.OMException: не удается создать OMDocType, потому что XMLStreamReader не поддерживает расширение DTDReader».Как игнорировать разбор DTD в AXIOM от Apache

XMLStreamReader parser = null; 
    try { 
    StAXParserConfiguration standalone = StAXParserConfiguration.STANDALONE; 
    parser= StAXUtils.createXMLStreamReader(standalone, in); 
    // parser = XMLInputFactory.newInstance().createXMLStreamReader(in); 
    } 
    catch (XMLStreamException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
    catch (FactoryConfigurationError e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
    StAXOMBuilder builder=new StAXOMBuilder(parser); 
    OMElement rootOMElement = builder.getDocumentElement(); 
+0

Удаление этого документа из документа разрешит эту проблему. Но я хочу, чтобы анализатор Axiom позаботился об этом. – Vel

ответ

1

Это будет исправлено в Axiom 1.2.16 (см AXIOM-475). Тем временем вы можете обойти эту проблему, используя Woodstox (4.0 или выше) в качестве реализации StAX.

+0

Спасибо Andreas :-) – Vel

+0

Привет, Андреас. Кажется, вы решили эту проблему. Не могли бы вы привести пример кода. – Vel

+0

Пример кода для чего? –