在NodeList XML中查找元素

时间:2014-06-19 00:08:06

标签: java c++ xml dom

我有没有办法从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

0 个答案:

没有答案