<?xml version="1.0" encoding="UTF-8"?> <hello> <item> <world attr="value1"/> </item> <item> <world attr="value2"/> </item> </hello>
import java.io.File; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class XPathSample { public static void main(String[] args) throws Exception { XPathExpression xpath = XPathFactory.newInstance() .newXPath() .compile("//world[@attr='value2']"); Document document = DocumentBuilderFactory.newInstance() .newDocumentBuilder() .parse(new File("hello.xml")); NodeList nodeList = (NodeList) xpath.evaluate(document, XPathConstants.NODESET); for (int i = 0; i < nodeList.getLength(); ++i) { Node node = nodeList.item(i); NamedNodeMap attributes = node.getAttributes(); String value = attributes.getNamedItem("attr").getNodeValue(); System.out.println(value); } } }
0 件のコメント:
コメントを投稿