Java 基于父属性值获取xml节点子元素值

Java 基于父属性值获取xml节点子元素值,java,xml-parsing,Java,Xml Parsing,我有一个xml,比如:- <SkillMap> <ExitPoint ID="01"> <NodeName>abcd</NodeName> </ExitPoint> <ExitPoint ID="04"> <NodeName>defg</NodeName> </ExitPoint> <ExitPoint ID="22">

我有一个xml,比如:-

 <SkillMap>
   <ExitPoint ID="01">
    <NodeName>abcd</NodeName>
   </ExitPoint>
   <ExitPoint ID="04">
    <NodeName>defg</NodeName>
   </ExitPoint>
   <ExitPoint ID="22">
    <NodeName>mnop</NodeName>
   </ExitPoint>
  </SkillMap>

abcd
德福
mnop
我正在尝试根据ID值获取
节点的值,即,如果我将ID输入为01,则应给出“abcd”,如果输入为22,则应给出“mnop”,以此类推,但我没有得到它,请帮助

谢谢, ARS

< P>你可以使用它,考虑下面的例子(我建议你对此进行咨询):


您应该使用Xpath来实现这一点。到目前为止您尝试了什么?您是否遇到过任何问题?感谢您提供了上述xml,我是否必须使用
String expression=“/ExitPoint/widget[@name='ID']/@quantity”或wat?我想如果你阅读我在回答中分享的材料,你最终将能够了解自己。我认为这是应该的。
// parse the XML as a W3C Document
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.Document document = builder.parse(new File("/widgets.xml"));
// evaluate the XPath expression against the Document
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/widgets/widget[@name='a']/@quantity";
Double quantity = (Double) xpath.evaluate(expression, document, XPathConstants.NUMBER);