日々精進

新しく学んだことを書き留めていきます

JavaでXMLをparseする

JavaだとXPathとかSelectorとか使えないからXMLからデータを取り出しづらい。。 XMLParserはAbstractクラスなので、DOMParserを使う。 コード例は以下。

    DOMParser parser = new DOMParser();
    InputStream bais = new ByteArrayInputStream(xmlString.getBytes("utf-8"));
    parser.parse(new InputSource(bais));
    Document document = parser.getDocument();
    NodeList resultsNodeList = document.getElementsByTagName("tagName");
    List<Result> results = new ArrayList<Result>();
    for (int i = 0; i < resultsNodeList.getLength(); i++) {
        Node node = resultsNodeList.item(i);
        NodeList children = node.getChildNodes();
        String risk = textContent(children, "risk");
        Result result = new Result();
        result.setRisk(risk);
        results.add(result);
    }
    return results;

参考:

http://marunomaruno.web.fc2.com/dom11.html?c=idx