Когда я использовал SAXParser, я обнаружил, что мне нужно добавить заголовок XML в мой файл, прежде чем он будет работать, и мне также нужно было заключить все мои данные в один тег верхнего уровня, например,
private static final String XML_HEADER = "<?xml version=\"1.0\"?><z>";
private static final String XML_FOOTER = "</z>"
String xmldata = XML_HEADER +
"<ArrayOfNacionalClass ... your data >" +
XML_FOOTER;
sp.parse(new ByteArrayInputStream(xmldata.getBytes("UTF-8")),
this);
Возможно, вам не нужны части <z></z>
, указанные выше, если все ваши данные всегда будут заключены в тег ArrayOfNacionalClass
верхнего уровня.
<ArrayOfNacionalClass>your data</ArrayOfNacionalClass>
Если вы оставите мои <z></z>
теги, вам нужно будет обработать их в вашем классе DefaultHandler.
Если ничего из этого не помогло, вот пример кода для SAXParser, который может оказаться полезным:
http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/
Выложенный вами код не выглядит так, как будто он скомпилируется, если только это не ваш собственный класс dataHandler? Если это так, то вы должны опубликовать код для этого тоже.
Я рекомендую вам использовать IDE, которая поможет вам исправить ошибки компиляции при вводе (например, Eclipse).