日期:2014-05-17  浏览次数:20819 次

jsp解析xml文件的问题,值为空怎么处理?
利用jsp解析xml文件,代码如下:
DocumentBuilderFactory  uDBF=DocumentBuilderFactory.newInstance();
uDBF.setIgnoringElementContentWhitespace(true);
DocumentBuilder uDB = uDBF.newDocumentBuilder();
Document doc=null;
NodeList filmNodeList= doc.getElementsByTagName("film");

if(filmNodeList.getLength()>0){
    film=(filmNodeList.item(0).getFirstChild().getNodeValue()).trim();//本行出现问题

}

错误类型:java.lang.NullPointerException

xml文件中film字段如下:
<film />

解决办法:
判断了filmNodeList的长度,如果长度>0,执行取值,目前判断filmNodeList.getLength()=1,取值出现java.lang.NullPointerException错误,怎么处理

------解决方案--------------------
jsdwNodeList.item(0).getFirstChild() 得到的也是一个org.w3c.dom.Node
Node firstChild=jsdwNodeList.item(0).getFirstChild();
film=firstChild!=null?firstChild.getNodeValue().trim():"";
------解决方案--------------------
数据从拿出来的哪一级就判断非空,然后再使用,每一级依次判断非空。
确保能确定非空的可略过。