首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

一个关于java解析xml的有关问题

2012-07-04 
一个关于java解析xml的问题在项目中调用了1个远程的webservice接口,该接口返回1个document对象,然后我对他

一个关于java解析xml的问题
在项目中调用了1个远程的webservice接口,该接口返回1个document对象,然后我对他进行解析的时候,解析不出来,求各位大大帮忙,看看是什么原因。
代码如下:

Java code
Object[] results = client.invoke("queryObjectOut", new Object[]{"01",jkxlh,"01111",queryXmlDoc});String r = results[0].toString();Document d = (Document) results[0];NodeList nodeList = document.getElementsByTagName("student");    for(int i=0;i<nodeList.getLength();i++){     StringBuilder sb = new StringBuilder();     sb.append("姓名:"+document.getElementsByTagName("name").item(i).getFirstChild().getNodeValue());     sb.append(" , ");     sb.append("年龄:"+document.getElementsByTagName("age").item(i).getFirstChild().getNodeValue());     sb.append(" , ");     sb.append("性别:"+document.getElementsByTagName("sex").item(i).getFirstChild().getNodeValue());     sb.append(" , ");     sb.append("地址:"+document.getElementsByTagName("address").item(i).getFirstChild().getNodeValue());         System.out.println(sb.toString()); 


这样做 查询结果为空,我打印nodelist.length为0。

然而用这个方法又能打印出xml全部内容,代码如下:
Java code
System.out.println("返回XML"+d.getFirstChild().getFirstChild().getTextContent());


我想问 我想取到 xml文件里面 这些字段的信息,该如何做呢?

[解决办法]
这nodelist里面应该是有多个Element吧。给个简单的例子供楼主参考
XML code
<?xml version="1.0" encoding="GBK"?>  <information>      <person>          <name>张三</name>          <age>19</age>          <job>软件工程师</job>          <employ-date>              <day>12</day>             <month>12</month>             <year>1989</year>         </employ-date>     </person>     <person>         <name>李四</name>         <age>33</age>         <job>测试工程师</job>         <employ-date>             <day>10</day>             <month>9</month>             <year>2010</year>         </employ-date>     </person>     <person>         <name>王五</name>         <age>28</age>         <job>客服工程师</job>         <employ-date>             <day>6</day>             <month>9</month>             <year>2001</year>         </employ-date>     </person>     <person>         <name>赵六</name>         <age>33</age>         <job>售前工程师</job>         <employ-date>             <day>11</day>             <month>7</month>             <year>2000</year>         </employ-date>     </person>     <person>         <name>孙七</name>         <age>27</age>         <job>项目经理</job>         <employ-date>             <day>6</day>             <month>8</month>             <year>2010</year>         </employ-date>     </person>     <person>         <name>龙五</name>         <age>39</age>         <job>总经理</job>         <employ-date>             <day>3</day>             <month>4</month>             <year>1987</year>         </employ-date>     </person> </information> 

热点排行