我有一个用java阅读的xml文档,一切都很好,直到我看到一个带有空标签的记录。第一行返回正常,第二行没有设置可用性,应用程序出现以下错误:
java.lang.NullPointerException
at tableDisplay.tableApplication.getValue(tableApplication.java:156)我试着把支票打成这样
if(node.getNodeValue() == null)
return "";
else
return node.getNodeValue();但这似乎也行不通。这里我漏掉了什么?
<DATA>
<ROW>
<Id>a0550000008zYHPAA2</CertId>
<AddonId>a0550000008zYHPAA2</AddonId>
<CareSetting>Office</CareSetting>
<Usability>4</Usability>
</ROW>
<ROW>
<Id>a0550000008zYHPAA2</CertId>
<AddonId>a0550000008zYHPAA2</AddonId>
<CareSetting>Office</CareSetting>
<Usability></Usability>
</ROW>
</DATA>
private static String getValue(String tag, Element element) {
NodeList nodes = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodes.item(0);
return node.getNodeValue(); // line 156
} 发布于 2014-05-15 01:34:51
通过在第156行执行return element.getElementsByTagName(tag).item(0).getTextContent();解决了此问题。然后,elswhere,如果我需要将该字符串转换为int/long/etc,我会检查它是否等于"";
https://stackoverflow.com/questions/23661116
复制相似问题