Advertisement
Guest User

Untitled

a guest
Feb 12th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.32 KB | None | 0 0
  1. package test;
  2.  
  3. import org.w3c.dom.Document;
  4. import org.w3c.dom.Element;
  5. import org.w3c.dom.Node;
  6. import org.w3c.dom.NodeList;
  7.  
  8. import javax.xml.parsers.DocumentBuilder;
  9. import javax.xml.parsers.DocumentBuilderFactory;
  10. import java.io.File;
  11.  
  12. public class Test {
  13.     public static void main(String[] args) throws Exception {
  14.         DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  15.         DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
  16.         Document document = documentBuilder.parse(new File("/Users/vbezhenar/tmp/test-primary.xml"));
  17.  
  18.         long start = System.currentTimeMillis();
  19.         processElemMetadata(document.getDocumentElement());
  20.         long end = System.currentTimeMillis();
  21.         System.out.println(end - start);
  22.     }
  23.  
  24.     private static void processElemMetadata(Element elemMetadata) {
  25.         NodeList nodesMetadataChildren = elemMetadata.getChildNodes();
  26.         for (int metadataChildIndex = 0; metadataChildIndex < nodesMetadataChildren.getLength(); metadataChildIndex++) {
  27.             Node nodeMetadataChild = nodesMetadataChildren.item(metadataChildIndex);
  28.             if (nodeMetadataChild.getNodeType() != Node.ELEMENT_NODE) {
  29.                 continue;
  30.             }
  31.             Element elemMetadataChild = (Element) nodeMetadataChild;
  32.             if (!elemMetadataChild.getTagName().equals("package")) {
  33.                 continue;
  34.             }
  35.             processElemPackage(elemMetadataChild);
  36.         }
  37.     }
  38.  
  39.     private static void processElemPackage(Element elemPackage) {
  40.         NodeList nodesPackageChildren = elemPackage.getChildNodes();
  41.         for (int packageChildIndex = 0; packageChildIndex < nodesPackageChildren.getLength(); packageChildIndex++) {
  42.             Node nodePackageChild = nodesPackageChildren.item(packageChildIndex);
  43.             if (nodePackageChild.getNodeType() != Node.ELEMENT_NODE) {
  44.                 continue;
  45.             }
  46.             Element elemPackageChild = (Element) nodePackageChild;
  47.             if (!elemPackageChild.getTagName().equals("name")) {
  48.                 continue;
  49.             }
  50.             processElemName(elemPackageChild);
  51.         }
  52.     }
  53.  
  54.     private static void processElemName(Element elemName) {
  55.         System.out.println(elemName.getTextContent());
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement