有一部分xml解析器使用者认为 JDOM 很慢,至少比起Dom4j来说效率不快。其实JDOM和DOM4J一样,同属优秀的开源XML解析器,
完全不必这样担心。
现在就实际拿一些实际使用的例子,作为简单的测试用例,对JDOM以及DOM4J最基本的文档解析功能来说明这个问题。
JDOM测试用例如下:
public Document getDoc(String filename) throws IOException, JDOMException {
SAXBuilder sb = new SAXBuilder();
// SAXBuilder sb = new SAXBuilder("org.apache.crimson.parser.XMLReaderImpl");
Document doc = null;
//传递的是文件路径时
doc = sb.build(new FileInputStream(filename));
return doc;
}
DOM4J测试用例如下
public Document getDoc(String filename) throws FileNotFoundException, DocumentException {
SAXReader sb = new SAXReader();
Document doc = null;
//传递的是文件路径时
doc = sb.read(new FileInputStream(filename));
return doc;
}
测试平台环境:
Intel 1.4G 迅驰 768MB , winXp Pro sp2, JDK 1.4.2
JDOM版本 1.0RC1
DOM4j版本 1.5.2
public Document getDoc(String filename) throws IOException, JDOMException {
SAXBuilder sb = new SAXBuilder();
// SAXBuilder sb = new SAXBuilder("org.apache.crimson.parser.XMLReaderImpl");
Document doc = null;
//传递的是文件路径时
doc = sb.build(new FileInputStream(filename));
return doc;
}
DOM4J测试用例如下
public Document getDoc(String filename) throws FileNotFoundException, DocumentException {
SAXReader sb = new SAXReader();
Document doc = null;
//传递的是文件路径时
doc = sb.read(new FileInputStream(filename));
return doc;
}
测试平台环境:
Intel 1.4G 迅驰 768MB , winXp Pro sp2, JDK 1.4.2
JDOM版本 1.0RC1
DOM4j版本 1.5.2
public Document getDoc(String filename) throws FileNotFoundException, DocumentException {
SAXReader sb = new SAXReader();
Document doc = null;
//传递的是文件路径时
doc = sb.read(new FileInputStream(filename));
return doc;
}
测试平台环境:
Intel 1.4G 迅驰 768MB , winXp Pro sp2, JDK 1.4.2
JDOM版本 1.0RC1
DOM4j版本 1.5.2
两者均不指定SAX解析器类,都是用SAX事件方式得到Document树型结构
测试文档样见文档最后,为数层结构XML文档。
每个测试用例每组同时做200次为5组,察看总体解析速度
JDOM
6.93s 6.94s 6.96s 7.05s 7s
DOM4J
7.551s 7.581s 7.631s 7.55s 7.621s
从结果来看
JDOM和DOM4J解析速度为同一级别,可能不同的文档速度稍微有差别,当JDOM XML SAX解析器换成 org.apache.crimson.parser.XMLReaderImpl 的时候,
速度会提高0.5s左右,而DOM4j提高0.2s左右。
另外我还对多个结构的XML文档解析,2万多行的XML文档解析,
均没有发现JDOM解析比DOM4j慢的情况,速度基本是两者55分。有些JDOM快,有些DOM4j快,有兴趣的读者可以自己做做试验。
关于一些在解析的时候速度变慢,还有内存溢出的说法,我看还是由于其他的原因导致的,或者遍历写法有问题所至。所以无论是使用DOM4j
还是JDOM都可以按照自己的喜欢爱好使用,完全不必担心所谓的速度问题。
文档附录:
<root>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
<ch1>
<ch2>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
<ch3>
<ch4>
<ch5>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
<ch6>
test
</ch6>
</ch5>
</ch4>
</ch3>
</ch2>
</ch1>
</root>