Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在节点列表XML中查找元素_Java_C++_Xml_Dom - Fatal编程技术网

Java 在节点列表XML中查找元素

Java 在节点列表XML中查找元素,java,c++,xml,dom,Java,C++,Xml,Dom,有没有办法从节点列表中获取第一个元素?我使用org.w3c.dom来处理XML文件,我已经使用org.w3c.dom编写了我的大部分程序,直到最近才发现dom4j有一个方法,但我无法使用它,因为它与我的其他方法存在向后兼容性问题 在XML中找到并传递第一个元素非常重要,它必须是org.w3c.dom.Element类型,但是,甚至不使用doc.normalize()起到了作用,使用dom4j方法查找元素并将其强制转换为org.w3c.dom.element也是如此,因为这是禁止的 File fi

有没有办法从
节点列表
中获取第一个
元素
?我使用
org.w3c.dom
来处理XML文件,我已经使用
org.w3c.dom
编写了我的大部分程序,直到最近才发现
dom4j
有一个方法,但我无法使用它,因为它与我的其他方法存在向后兼容性问题

在XML中找到并传递第一个
元素
非常重要,它必须是
org.w3c.dom.Element
类型,但是,甚至不使用
doc.normalize()
起到了作用,使用
dom4j
方法查找元素并将其
强制转换为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

提供一个示例
XML
会很有用。有评论吗?是的,