Java XML解析:无法正确解析XML
我有以下XMLJava XML解析:无法正确解析XML,java,android,xml,xml-parsing,Java,Android,Xml,Xml Parsing,我有以下XML <toplevel> <CompleteSuggestion> <suggestion data="rahm emanuel"/> <num_queries int="6350000"/> </CompleteSuggestion> <CompleteSuggestion> <suggestion data="raheem devaughn"/> <num_queries int="2130
<toplevel>
<CompleteSuggestion>
<suggestion data="rahm emanuel"/>
<num_queries int="6350000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="raheem devaughn"/>
<num_queries int="2130000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahat fateh ali khan"/>
<num_queries int="9020000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahab"/>
<num_queries int="1690000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahr brewery"/>
<num_queries int="113000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahsaan patterson"/>
<num_queries int="472000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahul gandhi"/>
<num_queries int="14600000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rah digga"/>
<num_queries int="1180000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahxephon"/>
<num_queries int="1660000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="rahway nj"/>
<num_queries int="3690000"/>
</CompleteSuggestion>
</toplevel>
这是GoogleAPI的输出。我正在尝试在我的android应用程序中解析。我正在使用DOM来解析它。我有以下代码
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
}
Element root = doc.getDocumentElement();
NodeList nl = doc.getElementsByTagName("CompleteSuggestion");
for (int i = 0; i < nl.getLength(); i++) {
Element suggestion = (Element)nl.item(i);
String name = suggestion.getAttribute("suggestion");
System.out.println(name);
}
单据单据=null;
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
试一试{
DocumentBuilder db=dbf.newDocumentBuilder();
InputSource is=新的InputSource();
is.setCharacterStream(新的StringReader(xml));
doc=db.parse(is);
}
元素根=doc.getDocumentElement();
NodeList nl=doc.getElementsByTagName(“CompleteSuggestion”);
对于(int i=0;i 字符串名称=suggestion.getAttribute(“suggestion”);
System.out.println(名称);
}
我无法获得正确的属性值。每次都是空的
谢谢!
rahul.建议不是属性,而是元素,数据是元素建议的属性。 使用以下命令:
for (int i = 0; i < nl.getLength(); i++) {
Element c_suggestion = (Element)nl.item(i);
Element suggestion = c_suggestion.getElementsByTagName("Suggestion")
String name = suggestion.getAttribute("data");
System.out.println(name);
}
for(int i=0;i 字符串名称=suggestion.getAttribute(“数据”);
System.out.println(名称);
}
String name=suggestion.getAttribute(“数据”);凭猜测