- XPathFactoryを使用してXPathオブジェクトを作成します。
import javax.xml.xpath.*;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
public class XPathExample {
public static void main(String[] args) throws Exception {
// XMLドキュメントのパス
String xmlFilePath = "path/to/xml/file.xml";
// XPathオブジェクトの作成
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
// XMLドキュメントの読み込み
InputSource inputSource = new InputSource(xmlFilePath);
Document document = (Document) xpath.evaluate("/", inputSource, XPathConstants.NODE);
// XPathを使用してすべての要素を取得
NodeList nodeList = (NodeList) xpath.evaluate("//*", document, XPathConstants.NODESET);
// 取得した要素の数を表示
System.out.println("要素の数: " + nodeList.getLength());
// 各要素の値を表示
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
System.out.println("要素[" + i + "]: " + node.getNodeName() + " = " + node.getTextContent());
}
}
}
上記の例では、XPathを使用して指定したXMLドキュメント内のすべての要素を取得する方法を示しています。まず、XPathオブジェクトを作成し、XMLドキュメントを読み込みます。次に、XPathを使用して//*
という式を評価し、すべての要素を取得します。取得した要素の数と各要素の値を表示しています。
このコードを使用するには、javax.xml.xpath
パッケージとorg.w3c.dom
パッケージが必要です。また、XMLドキュメントのパスを正しいパスに変更してください。
ご参考までに、他のXPath式を使用して特定の要素を取得する方法もあります。XPathの詳細な使い方については、関連するドキュメントやチュートリアルを参照してください。