获取NodeValue xml解析Android

时间:2011-08-29 13:56:29

标签: android parsing

我的Xml结果如下:

<search_results count="451">
<query>
 hello
</query>
<clinical_study>
<order>1</order>
<score>0.92784</score>
<nct_id>NCT01032902</nct_id>
</clinical_study>

我想得到那个计数标签值,在这种情况下是451。

使用以下代码:

NodeList nodeLst1 = doc.getElementsByTagName("search_results");
           // System.out.println("count.."+doc.getElementsByTagName("search_results").item(0).getUserData("count"));
           // System.out.println("count22.."+doc.getElementsByTagName("query").item(0).getUserData("query"));


            NodeList nodeLst = doc.getElementsByTagName("query");
            Element fstNmElmnt1 = (Element) nodeLst.item(0);
            NodeList fstNm1 = fstNmElmnt1.getChildNodes();
            nodeValue = ((Node) fstNm1.item(0)).getNodeValue();
            System.out.println("TotalCount: "+nodeValue);

设置“查询”标记值但无法检索计数值。 怎么弄?帮助..

由于

1 个答案:

答案 0 :(得分:0)

我有一个功能,我这样做:D

拨打readAtributes(data, "search_results");

之类的内容

它返回包含每个属性的哈希表。您可以更改为仅返回所需的值。 希望它有所帮助

private Hashtable<String, String> readAtributes(Element data, String tag) {
    Hashtable<String, String> dataReaded = new Hashtable<String, String>();
    // TODO Auto-generated constructor stub
    NodeList nodelist = data.getElementsByTagName(tag);

    for (int i = 0; i < nodelist.getLength(); i++) {
        Node n = nodelist.item(i);
        if (n instanceof Element && n.hasAttributes()) {
            NamedNodeMap attrs = n.getAttributes();
            for (int j = 0; j < attrs.getLength(); j++) {
                Attr attribute = (Attr) attrs.item(j);
                dataReaded.put(attribute.getName(), attribute.getValue());
                System.out.println("" + attribute.getName() + "="
                        + attribute.getValue());
            }
        }
    }
    return dataReaded;
}