java - Failed to parse asynchronously multiple XML documents using aalto -
i'm trying parse xml message coming out tcp socket using aalto-xml
https://github.com/fasterxml/aalto-xml
this xml i'm trying parse:
<?xml version=\"1.0\" encoding=\"utf-8\"?> <employee> <id>1</id> <name>alba</name> <salary>100</salary> </employee>
the first xml message parsed successfully, on 2nd 1 throws exception. here parse method
in class define class member:
private asyncxmlstreamreader<asyncbytearrayfeeder> parser = new inputfactoryimpl().createasyncforbytearray();
parse method:
try { parser.getinputfeeder().feedinput(buffer, 0, buffer.length); int type = 0; //keep looping till event complete while(!parser.getinputfeeder().needmoreinput()) { type = parser.next(); //handle parser event , extract parsed data switch (type) { case xmlevent.start_document: system.out.println("start document"); break; case xmlevent.start_element: { system.out.println("start element: " + parser.getname()); } break; case xmlevent.end_element: { system.out.println("end element: " + parser.getname()); } break; case xmlevent.end_document: { system.out.println("end document"); }break; default: break; } } if(type == asyncxmlstreamreader.event_incomplete) { system.out.println(results); } } catch (xmlstreamexception e) { // todo auto-generated catch block e.printstacktrace(); } }
exception:
com.fasterxml.aalto.wfcexception: illegal processing instruction target: 'xml' (case insensitive) reserved xml specification @ [row,col {unknown-source}]: [1,112]
any appreciated!
it appear same content being fed multiple times or something, xml declaration gets passed more once. because of offset mentioned in exception (column 122
).
Comments
Post a Comment