我有一个大约有60到70个标签的xml文件。同时调用SAX解析器startElement,endElement,字符过多使用的回调方法,如果其他方式使代码极其痛苦。有没有其他方法可以让我的代码更具可读性?解析带有太多标签的SAX解析器的XML文件
0
A
回答
0
还有其他的方法,命名为DOM
,StAx
等。选择你的灵活的一个。但是,SAX在记忆和时间上更有效率。有关详细信息,请参阅:http://docs.oracle.com/javase/tutorial/jaxp/index.html
0
正如我所了解的,您希望根据SAX刚刚阅读的内容执行不同的方法。我想不出有办法做到这一点。在我看来,您正在使用if-else/switch
语句在Handler
方法的startElement,卡住的endElement,人物等
如果你发现你的if-else
语句太复杂,你可以从提取,如果代码条款以不同的方法,例如:
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (ELEMENT1.equalsIgnoreCase(qName)) {
createElement1();
} else if (ELEMENT2.equalsIgnoreCase(qName) {
createElement2();
} else {
createDefaultElement();
}
}
0
检查XMLDog
你可以写Expressions
然后评估他们直列后避免了痛苦的系列if tests
。额外的好处是它使用流分析器(SAX),并避免了XPath
需要的昂贵的内存分析。
相关问题
- 1. 使用sax解析器解析xml具有不同的标签
- 2. 使用SAX解析器解析具有多个XML标记的XML文件
- 3. 多级XML SAX解析器
- 4. SAX XML解析器或DOM解析器?
- 5. XML解析器多标签
- 6. 带SAX解析器的RSS
- 7. 使用SAX解析器解析大型XML文件(跳过一些行/标签)
- 8. 使用android sax解析器解析XML
- 9. 使用sax解析器解析XML
- 10. 用SAX解析器解析XML
- 11. 使用SAX解析器解析java中的XML文件
- 12. 使用SAX解析器解析UTF-8 XML文件的问题
- 13. 使用SAX解析器,如何解析java中的xml文件
- 14. SAX解析器:从XML
- 15. SAX解析器XML援助
- 16. SAX解析器和XAPI xml
- 17. XML解析与SAX
- 18. SAX解析器忽略CDATA - html标签
- 19. 解析多个XML标签
- 20. 在SAX分析器解析XML
- 21. Perl的XML :: SAX解析
- 22. XML SAX解析Android的
- 23. 解析问题SAX解析器的Android
- 24. 的Android - 解析使用SAX解析器
- 25. 使用Sax解析器,Java处理XML中的空标签
- 26. 保留XML内容中的HTML标签SAX解析器Python
- 27. 使用SAX解析器解析嵌套的XML标记可能有重复。 Java
- 28. 使用DOM解析器和SAX解析器进行Android XML解析的区别
- 29. 安卓:SAX解析XML具有相同的标签
- 30. 用Nokogiri的SAX解析器解析Redis的大XML
我只是想减少每个回调方法中if语句的数量。 – user2220890