0

Location ノード値を解析/取得する方法: New Delhi,India ループを使用し、同様に、この xml ファイルから SVM、HHHHH などの複数の教育ノード値を取得する方法。XML :

<?xml version="1.0" encoding="UTF-8"?>
<facebookfriends>
<data>
<id>
[Removed]
    </id>
    <location>
        <id>
            [Removed]
        </id>
        <name>
            New Delhi, India
        </name>
    </location>
    <name>
        XYZZZZZZZZZZ
    </name>
    <education>
        <school>
            <id>
                [Removed]
            </id>
            <name>
                SVM
            </name>
        </school>
        <year>
            <id>
                [Removed]
            </id>
            <name>
                2001
            </name>
        </year>
        <type>
            High School
        </type>
    </education>
    <education>
        <concentration>
            <id>
                [Removed]
            </id>
            <name>
                Computer Science
            </name>
        </concentration>
        <school>
            <id>
                [Removed]
            </id>
            <name>
                HHHHHHHHHHHHH
            </name>
        </school>
        <type>
            Graduate School
        </type>
</education>
</data>

</facebookfriends>
4

2 に答える 2

0

以下のコードは、xml を解析して場所/名前ノードの値を取得するのに役立ちます。同様に、xpath を変更するだけで他のノード値を取得できます。

        File xmlFile = new File("C:/face.xml");
        DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder;
        try{
            builder = builderFactory.newDocumentBuilder();
            Document document = builder.parse(xmlFile);
            XPath xPath = XPathFactory.newInstance().newXPath();
            String exp = "/facebookfriends/data/location/name";
            NodeList nodeList = (NodeList) xPath.compile(exp).evaluate(document, XPathConstants.NODESET);
            for (int i = 0; i < nodeList.getLength(); i++) {
                System.out.println(nodeList.item(i).getFirstChild().getNodeValue()); 
            }
        }catch (ParserConfigurationException e) {
            e.printStackTrace();  
        } catch (XPathExpressionException e) {
            e.printStackTrace();
        }
于 2015-06-29T10:26:52.757 に答える