0

私は次のような1つのxmlを持っています:-

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

ID値に基づいてノードの値を取得しようとしてい<ExitPoint>ます。つまり、IDを01と入力すると「abcd」、22と入力すると「mnop」などになりますが、取得できません。たくさん試しました、助けてください。

ありがとう、Ars

4

1 に答える 1

1

Xpathを使用してこれを行うことができます。これについては、 JAXP仕様1.4から抜粋した次の例を検討してください(これについては参照することをお勧めします)。

// 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);
于 2012-06-08T17:17:55.150 に答える