我正在解析这个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/

10-10 19:42