[jdom-interest] Request for help: building a document from an InputStream
Bob Tykulsker
surftool at pacbell.net
Thu Aug 16 08:41:30 PDT 2001
Hello World,
I have a java application that is listening on a socket.
I am sending XML that looks like:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<message_name>request_login</message_name>
<username>joy</username>
</message>
I thought I could use code like:
Buffered Reader sin = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
SAXBuilder builder= new SAXBuilder();
Document doc = builder.build(sin);
in one fell swoop, but application doesn't seem to get anything until
interrupt it, at which point it throws the following exception:
org.jdom.JDOMException: Error on line 8: The XML declaration may only appear
at the very beginning of the document.
I *CAN* work around this by writing the document without newlines, reading
the socket a line at a time
and building the document from a String as per the FAQ:
while (true) {
String line = sin.readLine();
if (line.indexOf("xml version") != -1) continuue;
Document doc = new SAXBuilder().build(new StringReader(line));
}
Any suggestions?
Thanks in advance,
Bob
More information about the jdom-interest
mailing list