- <?xml version="1.0" encoding="utf-8"?>
- <!-- sax_xml_test -->
- <module>
- <name>nameFileld</name>
- <template name="template_name_attribute"/>
- <action selectId="degreeSelect">
- <queryAction>queryAction</queryAction>
- <inputAction>inputAction</inputAction>
- <deleteAction>deleteAction</deleteAction>
- </action>
- <list>
- <header>
- <headerCol tableCol="degree_id" label="学历代码" width="15%" height="21"/>
- <headerCol tableCol="degree_name" label="学历代码名称"/>
- <headerCol tableCol="is_used" label="是否有效" width="10%"/>
- <headerCol tableCol="sort_no" label="排序号" width="10%"/>
- </header>
- </list>
- </module>
- /**
- *描述:用SAX方式解析XML文件
- *作者:。。。
- *时间:2008年08月
- *地点:。。。
- */
- 应用(类与xml文件放在同一个文件目录下):
- public class test
- {
- //XML文档对象
- private Document doc;
- /**
- * 加载指定的XML文档
- */
- private void loadXMLDoc(String moduleId){
- InputStream inStream = null;
- try{
- //读取配置文件的输入流,通过类路径获取
- inStream = getClass().getResourceAsStream("sax_xml_test.xml");
- //使用dom4j软件包,利用sax的方式读取xml文件
- SAXReader reader = new SAXReader();
- doc = reader.read(inStream);
- }
- catch(Exception _ex){
- _ex.printStackTrace();
- }
- finally {
- try {
- inStream.close();
- }
- catch(Exception _ex) {
- }
- }
- }
- /**
- * 处理业务逻辑
- */
- public void processLogic()
- throws Exception
- {
- //名字,即name子结点,得到值"nameFileld"
- String name = ((Element)doc.selectSingleNode("/module/name")).getText();
- //获取页面模板的路径,即得到值"template_name_attribute"
- String template = ((Element)doc.selectSingleNode("/module/template")).attributeValue("name");
- //得到值"queryAction"
- String queryAction = ((Element)doc.selectSingleNode("/module/action/queryAction")).getText();
- //得到值"inputAction"
- String inputAction = ((Element)doc.selectSingleNode("/module/action/inputAction")).getText();
- //得到值"deleteAction"
- String deleteAction = ((Element)doc.selectSingleNode("/module/action/deleteAction")).getText();
- //得到值"selectId"
- String selectId = ((Element)doc.selectSingleNode("/module/action")).attributeValue("selectId");
- //从xml中读取每个headerCol的设置
- List<Element> headerCols = doc.selectNodes("/module/list/header/headerCol");
- for(Element element: headerCols)
- {
- String name = element.attributeValue("tableCol");
- String width = element.attributeValue("width");
- String height = element.attributeValue("height");
- String label = element.attributeValue("label");
- }
- }
- }
sax解析xml实例
最新推荐文章于 2021-03-29 11:20:06 发布