我有一个xml doc我正在读java,一切都很好,直到我得到一个空标记的记录。第一行返回正常,它是第二行,其中未设置可用性,应用程序错误输出以下内容:
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
}
答案 0 :(得分:0)
通过返回element.getElementsByTagName(tag).item(0).getTextContent();来解决它。然后,elswhere,如果我需要将该字符串转换为int / long / etc,我检查它是否等于“”;