开发者

SAXBuilder build throws java.lang.StringIndexOutOfBoundsException

开发者 https://www.devze.com 2023-04-06 01:16 出处:网络
I am parsing this xml <Root><Status>1</Status><Message>Get call Successful</Message><StatusCode></StatusCode><Item type = \'all\' subtype = \'0\' ><

I am parsing this 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>

I am parsing it using this code

SAXBuilder builder = new SAXBuilder();
Document doc = null;
xml = xml.replaceAll("\t", "");
StringReader r = new StringReader(xml);
try {
    doc = bui开发者_运维问答lder.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) it throws exception StringIndexOutOfBoundsException.

Am I doing something wrong?

updated ok I have removed only these tags "type = 'all' subtype = '0'" and now it is not giving java.lang.StringIndexOutOfBoundsException. Is there any problem with SAXBUILDER ??


I believe this was a know JDom bug. See http://www.jdom.org/pipermail/jdom-interest/2000-August/001227.html

You may want to check out one of the latest versions of jdom (as fits within your application).


Someone can try and identify the error for you, but what I would do is to start with very small xml, say

<Root></Root>

and keep adding to it till I get the error and then see what in the data caused the error.


Spaces are not allowed between the attribute name and the "=", or between the "=" and the attribute value.

See the spec.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号