Mercurial > hg > Members > tatsuki > JungleXMLReader
view src/test/java/jp/ac/u_ryukyu/cr/ie/tatsuki/xmlReadTest/SaxTest.java @ 44:5e8eac03fed3
miner change
author | one |
---|---|
date | Tue, 25 Nov 2014 17:51:35 +0900 |
parents | 1bdd50e26fac |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.cr.ie.tatsuki.xmlReadTest; import java.io.*; import java.nio.ByteBuffer; import java.util.Iterator; import javax.xml.parsers.*; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; import junit.framework.Assert; class SaxTest { public static void main(String args[]) { try { SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxParserFactory.newSAXParser(); Jungle jungle = new DefaultJungle(null, "hoge",new DefaultTreeEditor(new DefaultTraverser())); JungleTree tree = jungle.createNewTree("XMLTEST"); TestHandler testHandler = new TestHandler(tree); saxParser.parse(new FileInputStream("xml/sample.xml"), testHandler); JungleTree newTree = testHandler.getTree(); InterfaceTraverser ifTraverser = newTree.getTraverser(false); Iterator<TreeNode> searchNodeIterator = ifTraverser.find(( TreeNode node) -> { ByteBuffer attribute = node.getAttributes().get("element"); if (attribute != null) { byte[] byteAttribute = attribute.array(); String str = new String(byteAttribute); System.out.println("attribute = " + str); return str.equals("Person"); } return false; }, "element", "Person"); TreeNode searchNode = searchNodeIterator.next(); Assert.assertEquals(searchNode.getAttributes().getString("element"),"Person"); searchNodeIterator = ifTraverser.find((TreeNode node) -> { ByteBuffer attribute = node.getAttributes().get("element"); if (attribute != null) { byte[] byteAttribute = attribute.array(); String str = new String(byteAttribute); System.out.println("attribute = " + str); return str.equals("name"); } return false; }, "element", "name"); searchNode = searchNodeIterator.next(); Assert.assertEquals(searchNode.getAttributes().getString("text"),"tatsuki"); searchNodeIterator = ifTraverser.find((TreeNode node) -> { ByteBuffer attribute = node.getAttributes().get("text"); if (attribute != null) { byte[] byteAttribute = attribute.array(); String str = new String(byteAttribute); System.out.println("attribute = " + str); return str.equals("tatsuki"); } return false; }, "text", "tatsuki"); searchNode = searchNodeIterator.next(); Assert.assertEquals(searchNode.getAttributes().getString("id"),"10"); searchNodeIterator = ifTraverser.find((TreeNode node) -> { ByteBuffer attribute = node.getAttributes().get("id"); if (attribute != null) { byte[] byteAttribute = attribute.array(); String str = new String(byteAttribute); System.out.println("attribute = " + str); return str.equals("10"); } return false; }, "id", "10"); searchNode = searchNodeIterator.next(); Assert.assertEquals(searchNode.getAttributes().getString("id"),"10"); } catch (Exception e) { e.printStackTrace(); } } }