哈哈,巧了,用dom或者sax都回死人的。
建议你使用jakarta的commons.digester,比较好用,
这是我用来解释配置文件并自动生存成配置界面的代码、及配置文件例:
Digester digest=new Digester();
digest.addObjectCreate("config","com.ubi.config.demo.ConfigDialog");
digest.addCallMethod("config/ConfigDialogTitle","setTitle", 0);
digest.addObjectCreate("config/ConfigGroup", "com.ubi.config.demo.ConfigTab");
digest.addCallMethod("config/ConfigGroup/title","setName",0);
digest.addCallMethod( "config/ConfigGroup/configItem", "addConfigItem", 1 );
digest.addCallParam( "config/ConfigGroup/configItem", 0,"name" );
digest.addSetNext( "config/ConfigGroup", "addConfigTab" ); try {
Object obj=digest.parse(cfgTemplateFile);
JDialog dlg=(JDialog)obj;
dlg.setSize(new Dimension(300,200));
dlg.show();
System.out.println("parsed object is "+obj);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}<?xml version="1.0" encoding="UTF-8"?>
<config>
<ConfigDialogTitle>BMC Patrol 采集配置</ConfigDialogTitle>
<ConfigGroup>
<title>基本配置</title>
<configItem name="Reader名称"></configItem>
<configItem name="Reader描述"></configItem>
<configItem name="Reader ID"></configItem>
</ConfigGroup>
<ConfigGroup>
<title>Patrol Agent连接配置</title>
<configItem name="Patrol Agent连接信息"></configItem>
</ConfigGroup>
<ConfigGroup disable="true">
<title>数据格式配置</title>
<configItem name="CPU"></configItem>
<configItem name="MEMORY"></configItem>
<configItem name="disk"></configItem>
</ConfigGroup>
</config>
建议你使用jakarta的commons.digester,比较好用,
这是我用来解释配置文件并自动生存成配置界面的代码、及配置文件例:
Digester digest=new Digester();
digest.addObjectCreate("config","com.ubi.config.demo.ConfigDialog");
digest.addCallMethod("config/ConfigDialogTitle","setTitle", 0);
digest.addObjectCreate("config/ConfigGroup", "com.ubi.config.demo.ConfigTab");
digest.addCallMethod("config/ConfigGroup/title","setName",0);
digest.addCallMethod( "config/ConfigGroup/configItem", "addConfigItem", 1 );
digest.addCallParam( "config/ConfigGroup/configItem", 0,"name" );
digest.addSetNext( "config/ConfigGroup", "addConfigTab" ); try {
Object obj=digest.parse(cfgTemplateFile);
JDialog dlg=(JDialog)obj;
dlg.setSize(new Dimension(300,200));
dlg.show();
System.out.println("parsed object is "+obj);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}<?xml version="1.0" encoding="UTF-8"?>
<config>
<ConfigDialogTitle>BMC Patrol 采集配置</ConfigDialogTitle>
<ConfigGroup>
<title>基本配置</title>
<configItem name="Reader名称"></configItem>
<configItem name="Reader描述"></configItem>
<configItem name="Reader ID"></configItem>
</ConfigGroup>
<ConfigGroup>
<title>Patrol Agent连接配置</title>
<configItem name="Patrol Agent连接信息"></configItem>
</ConfigGroup>
<ConfigGroup disable="true">
<title>数据格式配置</title>
<configItem name="CPU"></configItem>
<configItem name="MEMORY"></configItem>
<configItem name="disk"></configItem>
</ConfigGroup>
</config>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货