Использование SAX и Java, я хочу, чтобы разобрать строку XML, но получить это исключениеSax синтаксического анализа исключение, когда XML имеет XSI: атрибут типа
[Fatal Error]: 1: 92: Приставка "XSI" для атрибута «XSI : type ", связанный с элементом типа" device ", не связан.
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParser parser = factory.newSAXParser();
XMLReader xmlReader = parser.getXMLReader();
handler = new ConfigHandler();
xmlReader = XMLReaderFactory.createXMLReader();
// assign our handler
xmlReader.setContentHandler(handler);
// perform the synchronous parse
xmlReader.parse(new InputSource(new StringReader(xml)));
} catch (Exception e) {
e.printStackTrace();
}
Вот XML
<device xsi:type="axl:XIPPhone" ctiid="182" uuid="{20a9f66a-fb1f-6981-5851-1474258054dc}">
<fullConfig>true</fullConfig>
<portalDefaultServer>serveraxd.lestry.com</portalDefaultServer>
<deviceProtocol>SOORTY</deviceProtocol>
..
..
</device>
Я не в состоянии изменить содержание XML в этом случае.
Что вы хотите сказать? Если вы разместили весь XML-документ (а не только фрагмент), сообщение об ошибке объясняет проблему. Префикс пространства имен «xsi» не привязан к фактическому URI пространства имен. – jarnbjo
Вопрос в том, что я могу сделать, чтобы исключить это исключение и разрешить синтаксический анализ файла XML. – mrmannione