Я пытаюсь передать имя файла xml функции (getAllXmlData
) и извлечь ее данные и сохранить их в многомерном массиве и вернуть данные xml через xmlArray
в первый класс. У меня есть следующий код:Возвращаемый массив в класс
public class Utils {
static String[][] getAllXmlData(String strIn1) {
File file = new File(strIn1);
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(file);
NodeList nodes = doc.getElementsByTagName("person");
System.out.println("Total of elements : " + nodes.getLength());
String xmlArray[][] = new String[nodes.getLength()][12];
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList recordID = element.getElementsByTagName("RecordID");
Element line = (Element) recordID.item(0);
xmlArray[i][1] = line.getFirstChild().getTextContent();
xmlArray[i][2] = line.getAttribute("id");
NodeList lastName = element.getElementsByTagName("LastName");
line = (Element) lastName.item(0);
xmlArray[i][3] = line.getFirstChild().getTextContent();
NodeList firstName = element.getElementsByTagName("FirstName");
line = (Element) firstName.item(0);
xmlArray[i][4] = line.getFirstChild().getTextContent();
NodeList title = element.getElementsByTagName("Title");
line = (Element) title.item(0);
xmlArray[i][5] = line.getFirstChild().getTextContent();
NodeList hobby = element.getElementsByTagName("Hobby");
line = (Element) hobby.item(0);
xmlArray[i][6] = line.getFirstChild().getTextContent();
NodeList phone1 = element.getElementsByTagName("CellPhone");
line = (Element) phone1.item(0);
xmlArray[i][7] = line.getFirstChild().getTextContent();
}
} catch (Exception e) {
e.printStackTrace();
}
return xmlArray;
}
}
но получает следующее сообщение об ошибке:
Utils.java:54: error: cannot find symbol
return xmlArray;
symbol: vailable xmlArray
location: class Utils
Я appriciate любой помощи. Кроме того, если есть более эффективный и динамичный способ хранения XML-данных в массиве без необходимости выполнять элемент element by elemnt. Thx
объявление находится внутри блока попытаться поймать. что-либо вне этой области не может получить к нему доступ. – njzk2