大家好,我在 java 中有一个 XML 文件,其中包含一个二维数字数组,它看起来像
<tableNumbers>
<row id="0">
<column id="0"> 4 </column>
<column id="1"> 2 </column>
<column id="2"> 5 </column>
<column id="3"> 6 </column>
</row>
<row id="1">
<column id="0"> 5 </column>
<column id="1"> 10 </column>
<column id="2"> 7 </column>
<column id="3"> 9 </column>
</row>
</tableNumbers>
现在表中的每一行都有相同数量的列,我想要做的是循环遍历 xml 并将 XML 文件中的数字存储到一个整数数组中。(例如,第 0 行第 0 列将存储在 numbers[0][0] 中。
我目前拥有的代码是:
public static Integer[][] getNumbers(File file, int noRows, int noColums){
Integer[][] numbersArray = new Integer[noRows][noColumns];
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
try {
Document document = docBuilderFactory.newDocumentBuilder().parse(file);
Element rootElement = document.getDocumentElement();
NodeList rowList = rootElement.getElementsByTagName("row");
if ((rowList != null))
for (int i = 0; i < rowList.getLength(); i++) {
NodeList columnsList = rowList.item(i).getChildNodes();
if ((columnsList != null))
for (int j = 0; j < columnsList.getLength(); j++) {
Element number = (Element) columnsList.item(j);
System.out.println("(" +i + "," + j + ") " + number.getNodeValue());
numbersArray[i][j] = number.getNodeValue();
}
}
return numbersArray;
}
catch (Exception c){}
return null;
}
标准输出的几行是:
(0,0) null
(0,1) null
(0,2) null
(0,3) null
(1,0) null
(1,1) null
(1,2) null
(1,3) null
从所有单元格返回的值是null
。我知道错误是从 xml 文件中读取的。如果有人能告诉我哪里出错了,我将不胜感激