我有没有办法从Element
获得第一个NodeList
?我使用org.w3c.dom
来处理XML文件,我已经使用org.w3c.dom
编写了我的程序的大部分内容并且最近才发现dom4j
它有一个方法但我不能使用它因为后向与我的其他方法的兼容性问题。
至关重要的是,我可以找到并传递我的XML中的第一个Element
,它必须是org.w3c.dom.Element
类型,但是,即使使用doc.normalize();
也没有帮助,也没有使用dom4j
方法查找元素并将其into org.w3c.dom.Element
强制转换为禁止元素。
File file = new File("myXML.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dbuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.newDocument();
doc = dBuilder.parse(file);
doc.normalize;
Element sourceElem = doc.getDocumentElement();
NodeList nodelist = sourceElem.getChildNodes();
Element elem;
if(nodeList.item(0).getNodeType() == Node.ELEMENT_NODE){
elem = (Element)nodeList.item(0);
}
我从其他方法获取NullPointerException,因为它无法找到该元素。 我需要它以与C ++代码相同的方式工作:
XmlDocument doc = new XmlDocument();
doc.Load("myXML.xml");
XmlElement elem = (XmlElement)doc.DocumentElement.ChildNodes[0];
编辑:或者有没有办法将dom4j元素强制转换回org.w3c.dom.Element?
EDIT2:示例XML我需要访问http://pastebin.com/C3nvxhwx