我正在为我正在编写的Android应用程序解析XML文件,并注意到没有前导空格,第一个字符将替换为空格。
public void characters(char ch[], int start, int length) { //extends DefaultHandler
if(this.in_mytag || this.in_user_id){
myXMLParser.setExtractedString(new StringBuffer().append(ch).toString());
}
}
我想在我的XML中使用以下格式......
<user_id>123</user_id>
返回的字符串是“23”(丢失1,字符串中有空格)。 如果我使用
<user_id> 123</user_id>
结果是预期的“123”。我在这里错过了什么?或者这是典型的,我将需要更改我的XML文件。
答案 0 :(得分:2)
我见过的所有SAX characters()
方法实现都观察到了偏移和长度参数。
这个版本有什么不同吗?
myXMLParser.setExtractedString(new String(ch, start, length));
答案 1 :(得分:1)
我不确定这是否是原因,但我注意到你遗漏了xml中的结束标识符。 <user_id>123<user_id>
应为<user_id>123</user_id>