如何在Android应用程序中解析XML文件
我正试图解析一个XML文件,如下所示如何在Android应用程序中解析XML文件,android,xml-parsing,saxparser,Android,Xml Parsing,Saxparser,我正试图解析一个XML文件,如下所示 <Subject> <chapter> <Question>abc</Question> <answer>avksn</answer> </chapter> <chapter> <Question>def</Question> <answer>av
<Subject>
<chapter>
<Question>abc</Question>
<answer>avksn</answer>
</chapter>
<chapter>
<Question>def</Question>
<answer>avksn</answer>
</chapter>
<chapter>
<Question>ccsv</Question>
<answer>avksn</answer>
</chapter>
</Subject>
abc
avksn
def
avksn
ccsv
avksn
在这本书中,我可以数一数章节的数量。章节的数量等于问答的数量。我还在布局中放置了一个名为ok的按钮
现在我想显示第一个问题,单击ok后,我想显示第二个问题,直到结束。当我说到最后一个问题时,我想进入一个新的活动
如何执行此操作,请帮助我将XML读入文档(v=XML字符串) 然后得到如下所示的元素:
/** Returns element value
* @param elem element (it is XML tag)
* @return Element value otherwise empty String
*/
public final static String getElementValue( Node elem ) {
Node kid;
if( elem != null){
if (elem.hasChildNodes()){
for( kid = elem.getFirstChild(); kid != null; kid = kid.getNextSibling() ){
if( kid.getNodeType() == Node.TEXT_NODE ){
return kid.getNodeValue();
}
}
}
}
return "";
}
如何使用:
Document doc = x.XMLfromString();
NodeList nodes = doc.getElementsByTagName("result");
for (int i = 0; i < nodes.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element)nodes.item(i);
map.put("id", x.getValue(e, "orgid"));
map.put("bedrijf", x.getValue(e, "naam"));
map.put("plaats", x.getValue(e, "plaats"));
mylist.add(map);
}
Document doc=x.XMLfromString();
NodeList节点=doc.getElementsByTagName(“结果”);
对于(inti=0;i
将xml读入InputStream,然后:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse([the InpuTstream]);
然后您可以使用doc,如:
if(doc.getElementsByTagName("GeometryCollection").getLength()>0){
org.w3c.dom.Node parent_node = doc.getElementsByTagName("GeometryCollection").item(0);
NodeList nl = parent_node.getChildNodes();
for(int i = 0;i<nl.getLength();i++){
...
if(doc.getElementsByTagName(“GeometryCollection”).getLength()>0){
org.w3c.dom.Node parent_Node=doc.getElementsByTagName(“GeometryCollection”)。项(0);
NodeList nl=parent_node.getChildNodes();
对于(int i=0;i
if(doc.getElementsByTagName("GeometryCollection").getLength()>0){
org.w3c.dom.Node parent_node = doc.getElementsByTagName("GeometryCollection").item(0);
NodeList nl = parent_node.getChildNodes();
for(int i = 0;i<nl.getLength();i++){
...