我正在解析这个xml
<Root><Status>1</Status><Message>Get call Successful</Message><StatusCode></StatusCode><Item type = 'all' subtype = '0' ><subItem><rank>0</rank><name>humywe12</name><value>4500</value></subItem></Item></Root>
我正在使用此代码进行解析
SAXBuilder builder = new SAXBuilder();
Document doc = null;
xml = xml.replaceAll("\t", "");
StringReader r = new StringReader(xml);
try {
doc = builder.build(r); <-----here it throws error
} catch (IOException e) {
// e.printStackTrace();
throw e;
} catch (Exception e) {
// e.printStackTrace();
throw e;
}
return doc;
}
builder.build(r)会引发异常StringIndexOutOfBoundsException。
难道我做错了什么?
更新
好的,我只删除了这些标签“ type ='all'subtype ='0'”,现在它没有给出java.lang.StringIndexOutOfBoundsException。 SAXBUILDER有任何问题吗?
最佳答案
我相信这是一个已知的JDom错误。见http://www.jdom.org/pipermail/jdom-interest/2000-August/001227.html
您可能要签出jdom的最新版本之一(适合您的应用程序)。
关于java - SAXBuilder构建会抛出java.lang.StringIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7470749/