String xmls= "<OSP_CDR ServiceType='TBL_SMS_SENT'><MASSMSID>823633671d9d4bb2aca0eac39f5456d45</MASSMSID><GWSMSID>hhh</GWSMSID><SISMSID>82363367-1d9d-4bb2-aca0-eac39f5456d4</SISMSID><EXTCODE></EXTCODE><DESTADDR>13586800000</DESTADDR><MESSAGECONTENT>hello</MESSAGECONTENT><REQDELIVERYREPORT>1</REQDELIVERYREPORT><MSGFMT>15</MSGFMT><REQUESTTIME>2007-11-23 14:58:58</REQUESTTIME><SENTTIME>sd</SENTTIME><SENTRESULT>dsd</SENTRESULT><SMSSTATUS>-1</SMSSTATUS><STATUSTIME>2007-11-23 14:56:57</STATUSTIME><APPLICATIONID>001001</APPLICATIONID></OSP_CDR>";
上面是我要解析的XML,我是用sax解析,可是每次读第一个到第一个节点的时候,length值都是15(按字符串应该是20位),20位是分两次读取的,读到其它节点时length都与字符串值相同,这是为什么,请高手指点,急!!!!!!!!这里有部分代码,MASSMSID是第一个节点,可每次都要分两次读,最后MASSMSIDString的值就是后半部分了.
public void characters(char[] chars, int start, int length) throws SAXException {
//将元素内容累加到StringBuffer中
buf = new StringBuffer();
buf.append(chars, start, length);
System.out.println("length:"+length);
text = buf.toString();
if(MASSMSID){
MASSMSIDString = text;
}
if(GWSMSID){
GWSMSIDString = text;
}
if(SISMSID){
SISMSIDString = text;
}
if(EXTCODE){
EXTCODEString = text;
}
if(DESTADDR){
DESTADDRString = text;
}
if(MESSAGECONTENT){
MESSAGECONTENTString = text;
}
if(REQDELIVERYREPORT){
REQDELIVERYREPORTString = text;
}
上面是我要解析的XML,我是用sax解析,可是每次读第一个到第一个节点的时候,length值都是15(按字符串应该是20位),20位是分两次读取的,读到其它节点时length都与字符串值相同,这是为什么,请高手指点,急!!!!!!!!这里有部分代码,MASSMSID是第一个节点,可每次都要分两次读,最后MASSMSIDString的值就是后半部分了.
public void characters(char[] chars, int start, int length) throws SAXException {
//将元素内容累加到StringBuffer中
buf = new StringBuffer();
buf.append(chars, start, length);
System.out.println("length:"+length);
text = buf.toString();
if(MASSMSID){
MASSMSIDString = text;
}
if(GWSMSID){
GWSMSIDString = text;
}
if(SISMSID){
SISMSIDString = text;
}
if(EXTCODE){
EXTCODEString = text;
}
if(DESTADDR){
DESTADDRString = text;
}
if(MESSAGECONTENT){
MESSAGECONTENTString = text;
}
if(REQDELIVERYREPORT){
REQDELIVERYREPORTString = text;
}
解决方案 »
- 一道很奇葩的面试题!
- 怎么实现双表头啊???
- 就一个简单的概念,帮忙看一下
- 求助JAVA连ORACLE问题
- 当List<T>.isempty()==true,如何获取T的类?
- Type safety: The method add(Object) belongs to the raw type List. References to generic type must be parameterized
- 急!!!!!SOS,要考试,求详细的注释,100分~~~
- 求推荐java并发书籍
- 如何写文件到本地,而不是写到服务器上?
- 我的分不多,只求CORBA简单问题解决
- 面板显示的问题
- 如何java知道当按下q键, loop停止, 不需要任何输入提示
看看http://blog.163.com/yangjuqi@126/ Dom4j操作XML的文章或许对你有帮助