1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| try {
File file = new File("C:/XML/feed/feed-mars.xml");
DocumentBuilderFactory builderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document xmlDocument = builder.parse(file);
xmlDocument.getDocumentElement().normalize();
XPath xPath = XPathFactory.newInstance().newXPath();
String expression2 = "/root/data/element";
NodeList nodeList = (NodeList) xPath.compile(expression2).evaluate(
xmlDocument, XPathConstants.NODESET);
for(int i=0;i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
Node idNode = (Node) xPath.compile(
"id")
.evaluate(node, XPathConstants.NODE);
String id = idNode.getTextContent();
System.out.println("document id: "+id);
Node likNode = (Node) xPath.compile(
"likes")
.evaluate(node, XPathConstants.NODE);
if ( likNode!=null ) {
NodeList likes = (NodeList) xPath.compile(
"data/element/id")
.evaluate(likNode, XPathConstants.NODESET);
for(int j=0; j<likes.getLength(); j++) {
System.out.println(" id like: "+likes.item(j).getTextContent());
}
Node nblikNode = (Node) xPath.compile(
"count")
.evaluate(likNode, XPathConstants.NODE);
if ( nblikNode!=null ) {
String nblik=nblikNode.getTextContent();
System.out.println(" le nb likes: "+nblik);
} else {
System.out.println(" le nb likes: 0");
}
}
else {
System.out.println(" pas de likes");
}
Node nbshares = (Node) xPath.compile(
"shares/count")
.evaluate(node, XPathConstants.NODE);
if ( nbshares!=null ) {
String nbsh=nbshares.getTextContent();
System.out.println(" le nb shares: "+nbsh);
}
else {
System.out.println(" pas de shares");
}
}
} catch (Exception e) {
//System.out.println(e.getMessage());
e.printStackTrace();
} |