如题:android SAX解析,前一个节点的值覆盖了后一个节点的值。
XML文件如下:
<home>
<state>1</ state>
<message>发表评论成功</message>
......
</home>在SAX解析类里:在characters()方法中
System.out.println("curString"+curString);
if(curString!=null&&curTag.equalsIgnoreCase("state")){
commentlist.setState(curString) ;
}else if(curString!=null&&curTag.equalsIgnoreCase("message")){
commentlist.setMessage(curString);
System.out.println(getCommentList().getMessage().toString()+"在characters方法里");
}
但是我在endElement方法里打印
System.out.println(getCommentList().getState().toString()+"在handlerdefault方法里");输入来的值却是:
11-28 04:42:06.216: I/System.out(1025): curString1
11-28 04:42:06.216: I/System.out(1025): 1在handlerdefault方法里
11-28 04:42:06.236: I/System.out(1025): curString获取商品评论列表成功
11-28 04:42:06.236: I/System.out(1025): 获取商品评论列表成功在characteers方法里
11-28 04:42:06.236: I/System.out(1025): 1在handlerdefault方法里
11-28 04:42:06.256: I/System.out(1025): 1在handlerdefault方法里我在在characters()方法中打印message节点时,它的值都已经设定好了,为什么却在endElement方法中
message节点的信息被state节点的信息覆盖了,请哪位大哥,帮我一下,我弄了两天了,都没有弄好,真的很急,谢谢了
XML文件如下:
<home>
<state>1</ state>
<message>发表评论成功</message>
......
</home>在SAX解析类里:在characters()方法中
System.out.println("curString"+curString);
if(curString!=null&&curTag.equalsIgnoreCase("state")){
commentlist.setState(curString) ;
}else if(curString!=null&&curTag.equalsIgnoreCase("message")){
commentlist.setMessage(curString);
System.out.println(getCommentList().getMessage().toString()+"在characters方法里");
}
但是我在endElement方法里打印
System.out.println(getCommentList().getState().toString()+"在handlerdefault方法里");输入来的值却是:
11-28 04:42:06.216: I/System.out(1025): curString1
11-28 04:42:06.216: I/System.out(1025): 1在handlerdefault方法里
11-28 04:42:06.236: I/System.out(1025): curString获取商品评论列表成功
11-28 04:42:06.236: I/System.out(1025): 获取商品评论列表成功在characteers方法里
11-28 04:42:06.236: I/System.out(1025): 1在handlerdefault方法里
11-28 04:42:06.256: I/System.out(1025): 1在handlerdefault方法里我在在characters()方法中打印message节点时,它的值都已经设定好了,为什么却在endElement方法中
message节点的信息被state节点的信息覆盖了,请哪位大哥,帮我一下,我弄了两天了,都没有弄好,真的很急,谢谢了
输出语句也不写,我都靠猜呢。
从经验上来讲你的xml就应该改一下,如:
<home>
<comment>
<state>1</ state>
<message>发表评论成功</message>
</comment>
......
</home>
解析时声明一个List装Comment,每个comment节点就new一个Comment,然后在下面的节点赋值,
最后加到List里面,输出时遍历这个List就行了