我的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);
设置“查询”标记值但无法检索计数值。 怎么弄?帮助..
由于
答案 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;
}