Unë kam xml si më poshtë,
<students>
<Student><age>23</age><id>2000</id><name>PP2000</name></Student>
<Student><age>23</age><id>1000</id><name>PP1000</name></Student>
</students>
Unë kam 2 xpaths Shablloni XPATH = students/Student
do të jenë nyjet e shabllonit, por nuk mund ta kodoj fort këtë xpath, sepse do të ndryshojë për XML-të e tjera, dhe XML është mjaft dinamike, mund të zgjerohet (por me të njëjtat XPATHs bazë) Pra, nëse vlerësoj edhe një XPATH duke përdorur nyjen e shabllonit, unë jam duke përdorur kodin e mëposhtëm,
XPath xpathResource = XPathFactory.newInstance().newXPath();
Document xmlDocument = //creating document;
NodeList nodeList = (NodeList)xpathResource.compile("//students/Student").evaluate(xmlDocument, XPathConstants.NODESET);
for (int nodeIndex = 0; nodeIndex < nodeList.getLength(); nodeIndex++) {
Node currentNode = nodeList.item(nodeIndex);
String xpathID = "//students/Student/id";
String xpathName = "//students/Student/name";
NodeList childID = (NodeList)xpathResource.compile(xpathID).evaluate(currentNode, XPathConstants.NODESET);
NodeList childName = (NodeList)xpathResource.compile(xpathName).evaluate(currentNode, XPathConstants.NODESET);
System.out.println("node ID " +childID.item(0).getTextContent());
System.out.println("node Name " +childName.item(0).getTextContent());
}
Tani problemi është, ky cikli for do të ekzekutohet për 2 herë, por të dyja herë po marr 2000 , PP2000
si vlerë ID. A ka ndonjë mënyrë për të përsëritur në nyjen e fëmijës me XPATH gjenerike kundrejt një nyje. Nuk mund të shkoj XPATH gjenerike kundër të gjithë XMLDocumentit, kam disa verifikime për të bërë. Dua të përdor listën e nyjeve XML si rreshta të grupeve të rezultateve, në mënyrë që të mund të vërtetoj vlerën XML dhe të bëj gjërat e mia.