【发布时间】:2012-07-10 01:39:36
【问题描述】:
我的代码昨天运行良好,但我今天再次启动它并收到错误
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: not well-formed (invalid token)
有问题的 xml 没有任何时髦的字符。它存储在一个名为“xml”的字符串变量中。公平地说,我真的不知道如何处理这个问题,只是在学习一些教程,但这是我的尝试。
out = new PrintWriter(mySocket.getOutputStream(), true);
BufferedReader br = new BufferedReader(new InputStreamReader(mySocket.getInputStream(), "US-ASCII"));
InputStream is = mySocket.getInputStream();
...
String xml = the stuff that was read in with br.read();
...
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
DataHandler myDataHandler = new DataHandler();
xmlR.setContentHandler(myDataHandler);
xmlR.parse(new InputSource(new StringReader(xml)));
myData = myDataHandler.getData();
我哪里做错了?
更新:xml以
开头<?xml version="1.0" standalone="yes"?>
所以看起来“第 1 行,第 0 列”实际上并没有什么问题。
更新 2:我发现 is.available() 返回 0.... 我该如何解决?
【问题讨论】:
-
向我们展示
xml的内容。 (嗯,至少是开始。) -
我强烈怀疑您没有得到任何响应(或部分响应)。我建议记录响应。
-
@GrahamBorland 已更新。您需要查看更多的 xml 吗?
-
@thinksteep 我刚刚添加了一个 System.out.println((char)br.read());在那里,我得到了一些要打印的 xml。但不是全部。
-
您可以尝试完全重建。有时 Android 会因为这样的东西进入一个时髦的状态......现在比以前少了,但是......
标签: java android xml xml-parsing sax