对不起,我一直在努力研究并自己解决这个问题,但是当涉及到Java并且它还没有点击我时,我仍然浑身湿透:/ p>
我正在开发一个程序来解析XML文档并将内容转换为电子表格单元格。我已经让它与名字和姓氏一起工作得很好,但是中间名的许多节点在XML中都是空的,这会产生NullPointerException错误 - 我假设因为NULL值会阻止代码工作。我已经尝试了几个不同的语句来检查NULL并在发生这种情况时分配一个空字符串,但我没有尝试过任何工作 - 它要么仍然给出错误,要么导致所有中间名都是空白的(当XML文档中有一些包含中间名称。)
我打算发布一些XML文档的图片,但它不会让我,因为我的代表不够高。因此,我尝试将其作为代码示例'在这里,希望没有拼写错误:
-<PersonInfos>
-<PersonInfoList>
-<PersonInfo>
<FirstName>Kimberly</FirstName>
<MiddleName>Diana</MiddleName>
<LastName>Smith</LastName>
</PersonInfo>
-<PersonInfo>
<FirstName>Charlie</FirstName>
<MiddleName/>
<LastName>Nelson</LastName>
</PersonInfo>
我的一些代码 - 没有任何类型的NULL检查。
我需要插入什么类型的IF ... NULL语句?在此先感谢!!
for (int i = 0; i < nodeList.getLength(); i++) {
HSSFCellStyle cellStyle = wb.createCellStyle();
rows = spreadSheet.createRow(i+1);
HSSFCell cell0 = rows.createCell(0);
cell0.setCellValue(((Element) (nodeList.item(i)))
.getElementsByTagName("FirstName").item(0)
.getFirstChild().getNodeValue());
HSSFCell cell1 = rows.createCell(1);
cell1.setCellValue(((Element) (nodeList.item(i)))
.getElementsByTagName("MiddleName").item(0)
.getFirstChild().getNodeValue());
HSSFCell cell2 = rows.createCell(2);
cell2.setCellValue(((Element) (nodeList.item(i)))
.getElementsByTagName("LastName").item(0)
.getFirstChild().getNodeValue());
}
答案 0 :(得分:0)
您可以尝试以下方式:
if(nodeList.item(i).getElementsByTagName("MiddleName").item(0).getFirstChild() == null) {
here set the value to ""
}