参考サイト: [技術]GAE/JでXML解析(xpath)を行う方法
xalanのパッケージに入っている下記の4つのライブラリが必要です。
serializer.jar,xalan.jar,xercesImpl.jar,xml-apis.jar,xsltc.jar
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import javax.xml.xpath.XPath;
- import javax.xml.xpath.XPathConstants;
- import javax.xml.xpath.XPathExpressionException;
- import org.w3c.dom.Document;
- import org.w3c.dom.NodeList;
- import org.xml.sax.InputSource;
- import org.xml.sax.SAXException;
- DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- domFactory.setNamespaceAware(true);
- DocumentBuilder builder;
- String xpathQuery="xpathを記述する";
- String xml="解析するXMLが入っているとする";
- try {
- builder = domFactory.newDocumentBuilder();
- Document doc = builder.parse(new InputSource(new StringReader(xml)));
- XPath xpath = new org.apache.xpath.jaxp.XPathFactoryImpl().newXPath();
- NodeList nodes = (NodeList)xpath.evaluate(xpathQuery, doc, XPathConstants.NODESET);
- for (int i = 0; i < nodes.getLength(); i++) {
- System.out.println(nodes.item(i).getNodeValue());
- }
- } catch (ParserConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SAXException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (XPathExpressionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
0 件のコメント:
コメントを投稿