Разбор неверного xml - PullRequest
       17

Разбор неверного xml

1 голос
/ 26 октября 2009

Я анализирую xml, используя JAXB. Я хочу также успешно проанализировать XML, когда XML недопустимо с дополнительным тегом. Просто игнорируйте тег, который не существует в XSD. Возможно ли это?

Ответы [ 3 ]

0 голосов
/ 05 ноября 2009

Мой код ниже. Jaxb успешно анализирует до неизвестного тега, после первого неизвестного тега, для всех определенных тегов, предупреждающих, что этот тег является неизвестным тегом (выведите сообщение «Неожиданный элемент {} ...»)

`Unmarshaller unmarshaller = context.createUnmarshaller (); unmarshaller.setValidating (ложь); ValidationEventHandler validationHandler = new IwisValidationEventHandler (); unmarshaller.setEventHandler (validationHandler); * +1003 *

открытый класс IwisValidationEventHandler реализует ValidationEventHandler { приватный статический Logger logger = Logger.getLogger (IwisValidationEventHandler.class); public boolean handleEvent (ValidationEvent ve) { System.out.println (ve.getMessage); вернуть истину; } } `

0 голосов
/ 12 января 2010

Вы можете добавить xsd: любой элемент

<xsd:complexType name="Type">         
  <xsd:sequence>
    <xsd:element name="root" type="Root"/>
      <xsd:any maxOccurs="unbounded" processContents="lax"/>   
  </xsd:sequence> </xsd:complexType>
.....
0 голосов
/ 26 октября 2009

Я предполагаю, что вы имеете в виду, что вы говорите о правильно сформированном XML, но XML, который содержит элементы, которые не определены в схеме?

Если это так, то JAXB в порядке с этим. Любые элементы во входном XML, которые JAXB не распознает, будут просто игнорироваться.

...