1

次の XML 構造があります。

...
...
  <CON>
    <LANGUAGES>
      <LANGUAGE>Deutsch</LANGUAGE> 
      <LANGUAGE>English</LANGUAGE> 
    </LANGUAGES>
  <CON>
  ...
  ...

以下のコードを使用して、言語を取得しようとしていますが、ノード リストの長さを出力しようとすると、1 しか返されません。

XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList)xPath.evaluate("/CU_DATA/CU/CON/LANGUAGES", document, XPathConstants.NODESET);                                  

System.out.println(nl.getLength()); 
// Output: 1

2 つの言語を取得するにはどうすればよいですか?

4

2 に答える 2

0

試す :

NodeList nl = (NodeList)xPath.evaluate("/CU_DATA/CU/CON/LANGUAGES//LANGUAGE", document, XPathConstants.NODESET);               

また

NodeList nl = (NodeList)xPath.evaluate("/CU_DATA/CU/CON/LANGUAGES//*", document, XPathConstants.NODESET);               

/はノードを分離するために使用され、as//はすべてのノードを再帰的に返します。

于 2013-09-26T07:45:45.803 に答える