У меня есть простой файл .xml
и его нужно разобрать. Файл состоит в следующем:Dom parsing xml problems
<table name="agents">
<row name="agent" password="pass" login="agent" ext_uid="133"/>
</table>
Мне нужно получить значения name, password, login, ext_uid
для создания БД записи.
То, что я сделал для этого: создана or.w3c.dom.Document
:
public Document getDocument(String fileName){
DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
f.setValidating(false);
DocumentBuilder builder = f.newDocumentBuilder();
return builder.parse(new File(fileName));
}
рядом я пытаюсь напечатать значения:
document = getDocument(fileName);
NodeList nodes = document.getChildNodes();
for (int i=0; i<nodes.getLength(); i++){
Node node = nodes.item(i);
if(node.getNodeType() == Node.ELEMENT_NODE){
NodeList listofNodes = node.getChildNodes();
for(int j=0; j<listofNodes.getLength(); j++){
if(node.getNodeType() == Node.ELEMENT_NODE){
Node childNode = listofNodes.item(j);
System.out.println(childNode.getNodeValue()+" " + childNode.getNodeName());
}
}
}
}
Я использую это, потому что я пытаюсь выяснить, как получить значения: childNode.getNodeValue()+" " + childNode.getNodeName()
, но результатом является следующее:
#text
null row
#text
в первом и третьем случаях NodeValue пуст, а во втором случае это null, это означает, что я предполагаю, что NodeValue вообще отсутствует. Итак, мой вопрос в том, как получить значения name, password, login, ext_uid
?