プログラマメモ2 - programmer no memo2

XMLConfiguration デフォルトでの値の取得方法とXPathを使用してとる方法です。 2008/01/24

CommonsのConfigurationです。

Configuraionは、いいAPIだと思います。

デフォルトでの値の取得方法とXPathを使用してとる方法です。



import java.io.ByteArrayInputStream;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.configuration.tree.DefaultExpressionEngine;
import org.apache.commons.configuration.tree.xpath.XPathExpressionEngine;

public class TestXMLConfiguration {

public static void main(String[] args) throws ConfigurationException {
a();
}

static String s = "<root><a><b>test</b><c>test2</c></a></root>";

public static void a() throws ConfigurationException {

// xxxExpressionEngine
XPathExpressionEngine xpathExpressionEngine = new XPathExpressionEngine();
DefaultExpressionEngine defaultExpressionEngine = new DefaultExpressionEngine();
XMLConfiguration xml = new XMLConfiguration();

xml.load(new ByteArrayInputStream(s.getBytes()));

// (a) XPathExpressionEngine
xml.setExpressionEngine(xpathExpressionEngine);

System.out.println(xml.getString("a/b"));

// (b) DefaultExpressionEngine
xml.setExpressionEngine(defaultExpressionEngine);

System.out.println(xml.getString("a.b"));
}


}


expression engineを指定することで、パスの記述方法を変更します。

デフォルトだとドット区切りでパス指定を行います。

: