私はDOM、SAX、およびStAXの効率をテストしています。
基本的に私がしていることは、春のストップウォッチとさまざまなサイズの XML を使用して結果を比較することです。
また、要素がオブジェクトにロードされ、オブジェクトが配列にロードされている間の時間を測定できると考えましたが、それはパースリングとは関係ありません。
ここにSAXの私のコードがあります
StopWatch stopWatch = new StopWatch("SAX");
stopWatch.start("SAX");
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(false);
SAXParser sp = spf.newSAXParser();
XMLReader parser = sp.getXMLReader();
parser.setErrorHandler(new Chyby());
parser.setContentHandler(new DefaultHandler());
parser.parse(file);
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
StAX用
int temp = 0;
StopWatch stopWatch = new StopWatch("StAX");
stopWatch.start("StAX");
XMLInputFactory f = XMLInputFactory.newInstance();
XMLStreamReader r = f.createXMLStreamReader( new FileInputStream( file ));
while (r.hasNext()==true){
temp++;
r.next();
}
System.out.println("parsed");
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
ドム
StopWatch stopWatch = new StopWatch("DOM");
stopWatch.start("DOM");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(subor);
System.out.println("parsed");
System.out.println("----------------\n");
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
私の質問は:私はそれを正しくやっていますか?パーサーをテストするための他のアプローチはありますか? ありがとう