SAX解析,对一个tag为啥执行三次 character()方法?
一个简单的xML , 如下:
<students>
<student>
<id>1</id>
<name>Tom</name>
<sex>M</sex>
<age>22</age>
</student>
</students>
复写的characters()方法,截取如下:
public void characters(char[] ch, int start, int length)throws SAXException {
if(tgName.equals("id")){//为何在进入<id>标签后,该if语句会被执行三次呢?其中tgName变量是在startElement()方法中赋值的。
tmp=new String(ch,start,length);
id=tmp;
System.out.println("From characters id="+id);
}
……
注:
经Debug三次所取得的内容分别为:
1
\n
\t
还请牛人指教,谢谢!