inputstream cannot be null(大神来看下 在线等)

qq_27016203 2015-12-24 11:23:20
用dom解析xml 其中一项电话号码有空值 然后报错 哪位大神来指点下 代码如下
package com.bean.company;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import com.bean.Test.CompanyMapList;


public class DomService {
//将XML转换为对象
public List<CompanyMapList> getCompanysMap(InputStream inputStream) throws Exception {
List<CompanyMapList> list = new ArrayList<CompanyMapList>();
// 创建一个Document解析工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
// 将输入流解析为Document
Document document = builder.parse(inputStream);
// 整个文档就是一个节点文档 所以该节点就是所有内容
Element ele = document.getDocumentElement();
NodeList nodeList = ele.getElementsByTagName("CompanyMap"); //获取所有student节点 并且进行遍历
for (int i = 0; i < nodeList.getLength(); i++) {
Element ele2 = (Element) nodeList.item(i); //具体的一个student节点
CompanyMapList cml = new CompanyMapList();
//获取student节点下面的所有子节点 并且进行遍历
NodeList nodeList2 = ele2.getChildNodes();
for (int j = 0; j < nodeList2.getLength(); j++) {
if (nodeList2.item(j).getNodeType() == Node.ELEMENT_NODE) { //如果该节点是元素节点
if ("EMPLID".equals(nodeList2.item(j).getNodeName())) {
cml.setEMPLID(nodeList2.item(j).getFirstChild()
.getNodeValue());
}else if ("NAME".equals(nodeList2.item(j).getNodeName())) {
cml.setNAME(nodeList2.item(j).getFirstChild()
.getNodeValue());
}else if ("NATIONAL_ID".equals(nodeList2.item(j).getNodeName())) {
cml.setNATIONAL_ID(nodeList2.item(j).getFirstChild()
.getNodeValue());
} else if ("PHONE".equals(nodeList2.item(j).getNodeName())) {
cml.setPHONE(nodeList2.item(j).getFirstChild()
.getNodeValue());
}else if ("COMPANY_KD_DESCR".equals(nodeList2.item(j).getNodeName())) {
cml.setCOMPANY_KD_DESCR(nodeList2.item(j).getFirstChild()
.getNodeValue());
} else if ("COMPANY_KINGDEE".equals(nodeList2.item(j).getNodeName())) {
cml.setCOMPANY_KINGDEE(nodeList2.item(j).getFirstChild()
.getNodeValue());
}else if ("HIRE_DT".equals(nodeList2.item(j).getNodeName())) {
cml.setHIRE_DT(nodeList2.item(j).getFirstChild()
.getNodeValue());
}
}
}
list.add(cml); //添加到集合
}
return list;
}

}










public static void main(String[] args) {
// TODO Auto-generated method stub

String path = "http://10.3.2.88:8042/services/CompanyMap"+"jzt_Date-3"+"jzt_Date";
InputStream is = HttpUtils.getXML(path);
DomService service = new DomService();
try {
List<CompanyMapList> list = service.getCompanysMap(is);
for (CompanyMapList companyMapList : list) {
System.out.println(companyMapList.toString());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
...全文
1121 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27016203 2015-12-25
  • 打赏
  • 举报
回复
大神们 快来吧
qq_27016203 2015-12-24
  • 打赏
  • 举报
回复
引用 6 楼 zhuxianxin0118 的回复:
这简单,有空值加判断呗 cml.setPHONE(nodeList2.item(j).getFirstChild() .getNodeValue()); 改为 if(nodeList2.item(j).getFirstChild() .getNodeValue()!=null){ cml.setPHONE(nodeList2.item(j).getFirstChild() .getNodeValue()); }
这样改过了 还是报空指针异常
南猿北辙 2015-12-24
  • 打赏
  • 举报
回复
这简单,有空值加判断呗 cml.setPHONE(nodeList2.item(j).getFirstChild() .getNodeValue()); 改为 if(nodeList2.item(j).getFirstChild() .getNodeValue()!=null){ cml.setPHONE(nodeList2.item(j).getFirstChild() .getNodeValue()); }
qq_27016203 2015-12-24
  • 打赏
  • 举报
回复
引用 3 楼 zhuxianxin0118 的回复:
明显 InputStream is = HttpUtils.getXML(path); is为null;目测,path内容有误
会报空指针异常
qq_27016203 2015-12-24
  • 打赏
  • 举报
回复
引用 3 楼 zhuxianxin0118 的回复:
明显 InputStream is = HttpUtils.getXML(path); is为null;目测,path内容有误
path内容改过了 现在问题是给的xml里面PHONE有空值 然后会报错 如果注释掉PHONE就没事 有没有办法解决呢?
南猿北辙 2015-12-24
  • 打赏
  • 举报
回复
明显 InputStream is = HttpUtils.getXML(path); is为null;目测,path内容有误
qq_27016203 2015-12-24
  • 打赏
  • 举报
回复
引用 1 楼 zhuxianxin0118 的回复:
报错内容呢?

南猿北辙 2015-12-24
  • 打赏
  • 举报
回复
报错内容呢?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧