配置文件config.xml(XML形式,也可以使用别的形式):
添加函数AddNode
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
<seed>
<value>http://www.baidu.com</value>
<description>爬取的网站,暂时只能爬一个站点</description>
</seed>
</crawl>
</configuration>
package test;
import java.io.IOException;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
public class configexample {
static XMLConfiguration config;
public static void main(String[] args) throws IOException, ConfigurationException {
// TODO Auto-generated method stub
String configfile= "config.xml";
config = new XMLConfiguration(configfile);
String seed = config.getString("crawl.seed.value");//获取
FileChangedReloadingStrategy strategy = new FileChangedReloadingStrategy();
//设置文件策略更新时间为10秒
strategy.setRefreshDelay(10000);
//配置策略
config.setReloadingStrategy(strategy);
System.out.println(seed);
}
}
需要导入的jar包有commons-configuration-1.9.jar commons-lang-2.6.jar commons-logging-1.1.1.jar
添加节点
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
<seed>
<value>http://www.baidu.com</value>
<description>爬取的网站,暂时只能爬一个站点</description>
</seed>
</crawl>
<add>
<nodes>
<test attr="attrValue">
<child>value</child>
</test>
</nodes>
</add>
</configuration>
添加函数AddNode
public static void AddNode() throws ConfigurationException
{
ConfigurationNode node = new HierarchicalConfiguration.Node("test");
ConfigurationNode child = new HierarchicalConfiguration.Node("child");
child.setValue("value");//添加值
node.addChild(child);
//添加属性
ConfigurationNode attr = new HierarchicalConfiguration.Node("attr");
attr.setValue("attrValue");
attr.setAttribute(true);
node.addAttribute(attr);
Collection nodes = new ArrayList(1);
nodes.add(node);
config.addNodes("add.nodes", nodes);
config.save();
}
获取类表与属性值
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
<seed>
<value>http://www.baidu.com</value>
<description>爬取的网站,暂时只能爬一个站点</description>
</seed>
</crawl>
<Belief>
<state prob="0.10869565">other</state>
<state prob="0.02173913">teach_ability</state>
<state prob="0.010869565">answer_color</state>
</Belief>
</configuration>
public static void GetList(){
List<Object> list = config.getList("Belief.state");
for(int i=0;i<list.size();i++){
Double prob = config.getDouble("Belief.state("+i+")[@prob]");//获取属性值
System.out.println(list.get(i)+"\t"+prob);
}
}