Моя проблема в получении первого дочернего элемента узла XML
с помощью getFirstChild (). Мой xml очень базовый c, а именно:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<network name="beep">
<layers number="3">
<layer index="0" lenght="3">
...
</layer>
<layer index="1" lenght="3">
...
</layer>
....
</layers>
</network>
Java -код
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.StringReader;
import org.xml.sax.InputSource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
try {
DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance();
DocumentBuilder DB = DBF.newDocumentBuilder();
Document doc = DB.parse(new InputSource( new StringReader(Xml)));
doc.getDocumentElement().normalize();
Element root = doc.getDocumentElement();
NodeList Nodes =root.getElementsByTagName("network");
Node Layers = Nodes.item(0).getFirstChild();
}
catch (Exception ex)
{
}
, как вы можете видеть, есть элемент, который является дочерним по отношению к «сети», и это «слой». Я могу успешно получить доступ к сети, получая список узлов, который по сути является одним узлом, но как только я пытаюсь получить первого потомка первого (и единственного) узла с:
Node Layers = Nodes.item(0).getFirstChild();
Я получаю exception
и, что еще смешнее, the exception is "null".
В чем проблема?