使用Jdom读取xml

使用Jdom读取xml,xml,jdom-2,Xml,Jdom 2,我是第一次使用JDOM,到目前为止,还不是很成功。另外,我是一个.NET的人,被分配了一个Java项目 我有这个xml文件,我正在尝试读取所有元素 这是我目前掌握的代码。响应就是我获取xml数据的地方。 我可以读取根元素,但我正在努力读取元素。 有什么想法吗 JSONObject ticket = data.getDataJSON(); String id = ticket.getString(SDPTicketKeyValues.Key.ID); String

我是第一次使用JDOM,到目前为止,还不是很成功。另外,我是一个.NET的人,被分配了一个Java项目

我有这个xml文件,我正在尝试读取所有元素

这是我目前掌握的代码。响应就是我获取xml数据的地方。 我可以读取根元素,但我正在努力读取元素。 有什么想法吗

 JSONObject ticket  = data.getDataJSON();
    String id       = ticket.getString(SDPTicketKeyValues.Key.ID);
    String input_data   = "";

    Content response = Request
            .Post(REST_URL + REQUEST_RESOURCE + id + "/" + NOTES_RESOURCE)
            .bodyForm(
                Form.form().add(TECHKEY_PARAMETER, MYTECH_KEY)
                       .add(OPERATION_PARAMETER, GETNOTES_OPERATION)
                       .add("INPUT_DATA", input_data)
                       .build())
        .execute().returnContent(); 

    SAXBuilder builder  = new SAXBuilder(); 
    StringReader reader     = new StringReader(response.asString());
    Document document   = (Document) builder.build(reader);
    Element rootNode    = document.getRootElement();
这是xml文件

<?xml version="1.0" encoding="UTF-8"?>
<API version="1.0">
    <response>
        <operation name="GET_NOTES">
            <result>
                <statuscode>200</statuscode>
                <status>Success</status>
                <message>Notes details fetched successfully.</message>
            </result>

            <Details>
                <Notes>
                    <Note URI="http://localhost:8080/sdpapi/request/10/notes/901/">
                        <parameter>
                        <name>isPublic</name>
                        <value>false</value>
                        </parameter>
                        <parameter>
                        <name>notesText</name>
                        <value>dfgfdgdfgdfgdgdgdgdgdg</value>
                        </parameter>
                        <parameter>
                        <name>userName</name>
                        <value>Howard Stern</value>
                        </parameter>
                        <parameter>
                        <name>notesDate</name>
                        <value>1373971580200</value>
                        </parameter>
                    </Note>

                    <Note URI="http://localhost:8080/sdpapi/request/10/notes/612/">
                        <parameter>
                        <name>isPublic</name>
                        <value>false</value>
                        </parameter>
                        <parameter>
                        <name>notesText</name>
                        <value>dfgdfgdfgdfgdfgdfgdfgdf</value>
                        </parameter>
                        <parameter>
                        <name>userName</name>
                        <value>Howard Stern</value>
                        </parameter>
                        <parameter>
                        <name>notesDate</name>
                        <value>1373967102396</value>
                        </parameter>
                    </Note>

                    <Note URI="http://localhost:8080/sdpapi/request/10/notes/611/">
                        <parameter>
                        <name>isPublic</name>
                        <value>true</value>
                        </parameter>
                        <parameter>
                        <name>notesText</name>
                        <value>dfgdfgdfgdfgdfgdfgdgdgdgd</value>
                        </parameter>
                        <parameter>
                        <name>userName</name>
                        <value>Howard Stern</value>
                        </parameter>
                        <parameter>
                        <name>notesDate</name>
                        <value>1373967097117</value>
                        </parameter>
                    </Note>
                </Notes>
            </Details>
        </operation>
    </response>
</API>

200
成功
已成功获取Notes详细信息。
公开的
假的
注释文本
dfgfdgdfgdfgdgdgdgdgdg
用户名
霍华德·斯特恩
记事本
1373971580200
公开的
假的
注释文本
dfgdfgdfgdfgdfgdfgdfgdf
用户名
霍华德·斯特恩
记事本
1373967102396
公开的
真的
注释文本
DFGDFGDFGDFGDFGDFGDGDGD
用户名
霍华德·斯特恩
记事本
1373967097117

我决定用另一种方式来做,现在它开始工作了。这是密码

Document xml        = loadXMLFromString(response.asString());
    NodeList notesList  =  xml.getElementsByTagName(XML_NOTE);
    List<Note> notes    = new ArrayList<Note>();

    for (int notesLoop = 0; notesLoop < notesList.getLength(); notesLoop++) {
        Element notesNode   = (Element) notesList.item(notesLoop);
        Note newNote        = new Note();

        String iD = notesNode.getAttribute("URI").substring(notesNode.getAttribute("URI").lastIndexOf("/"));
        newNote.setUri(notesNode.getAttribute("URI"));

        NodeList paramList = notesNode.getElementsByTagName(XML_PARAMETER);

        for (int paramsLoop = 0; paramsLoop < paramList.getLength(); paramsLoop++) {
            Element paramsNode = (Element) paramList.item(paramsLoop);
            Params ll = new Params();

            NodeList name   = paramsNode.getElementsByTagName("name");
            NodeList value  = paramsNode.getElementsByTagName("value");

            ll.setName(name.item(0).getFirstChild().getNodeValue());
            ll.setValue(value.item(0).getFirstChild().getNodeValue());

            newNote.getParams().add(ll);
        }

        notes.add(newNote);
    }
documentxml=loadXMLFromString(response.asString());
nodelistnoteslist=xml.getElementsByTagName(xml\u注释);
列表注释=新建ArrayList();
对于(int-noteslop=0;noteslop