2012-07-31 90 views
0

这是我的XML:Android的解析

<STATE sname="AndhraPradesh" > 
    <DISTRICT dname="Ananthapur" > 
     <address> 
      Apollo Pharmacy, ANANTHAPUR (0.0 km) 
      D.NO.15/545, NEAR SAPTHAGIRI CIRCLE ANANTHAPUR, Rayalaseema, ANANTHAPUR, ANATHAPUR , ANDHRA PRADESH 
     </address> 
    </DISTRICT> 

    <DISTRICT dname="Kurnool" > 
     <address> 
      Apollo Pharmacy, KURNOOL (0.0 km) 
      municipal no. D No: 46/697-A, Budwarpeta, KURNOOL, KURNOOL, ANDHRA PRADESH 
     </address> 
     <address> 
      Apollo Pharmacy, KURNOOL 2 (0.0 km) 
      1-155, Rayalaseema, KURNOOL 2, KURNOOL, ANDHRA PRADESH 
     </address> 
    </DISTRICT> 

    <DISTRICT dname="EastGodawari" > 

     <address> 
      Apollo Pharmacy, VENKATESWAR COLONY (MAHABUB NAGAR) (0.0 km) 
      D.No.7-4-58/A, Main Road Opp:A.P.S.E.B.Buliding, Mahabub, VENKATESWAR COLONY (MAHABUB NAGAR), HYDERABAD, ANDRA PRADESH 
     </address> 
     <address> 
      Apollo Pharmacy, MAHABOOBNAGAR (0.0 km) 
      1-5-35/6, Beside Andhrabank ATM, Mahaboobnagar, Telangana, MAHABOOBNAGAR, HYDERABAD, ANDHRA PRADESH 
     </address> 
     <address> 
      Apollo Pharmacy, METTUGUDA - MAHABOOBANAGAR - 2 (0.0 km) 
      1-4-30/D/B, Mahaboobnagar, METTUGUDA - MAHABOOBANAGAR - 2, HYDERABAD, ANDHRA PRADESH 
     </address> 
    </DISTRICT> 

</STATE> 

<STATE sname="AndhraPradesh1111" > 
    <DISTRICT dname="Ananthapur1111" > 
     <address> 
      Apollo Pharmacy, ANANTHAPUR (0.0 km) 
     </address> 
    </DISTRICT> 

    <DISTRICT dname="Kurnool1111" > 
     <address> 
      Apollo Pharmacy, KURNOOL (0.0 km) 
     </address> 
     <address> 
      Apollo Pharmacy, KURNOOL 2 (0.0 km) 
     </address> 
    </DISTRICT> 

    <DISTRICT dname="EastGodawari1111" > 

     <address> 
      Apollo Pharmacy, VENKATESWAR COLONY (MAHABUB NAGAR) (0.0 km) 
     </address> 
     <address> 
      Apollo Pharmacy, MAHABOOBNAGAR (0.0 km) 
     </address> 
     <address> 
      Apollo Pharmacy, METTUGUDA - MAHABOOBANAGAR - 2 (0.0 km) 
     </address> 
    </DISTRICT> 

</STATE> 

我想在纺纱中显示的值。当我选择状态时,相关区域必须加载到区域微调器中。基于区域微调,该区域的地址应在文本视图中加载。

+4

您已经尝试了什么? – 2012-07-31 06:04:19

+3

欢迎来到Stackoverflow社区。如果可能的话,在这里提问,然后展示你的工作,无论你尝试到目前为止。 – 2012-07-31 06:05:36

+0

我会看看[this](http://www.androidhive.info/2011/11/android-xml-parsing-tutorial/) – 2012-07-31 06:24:30

回答

0

使用dom解析 //从/ res/raw文件夹读取myxml.xml文件 InputStream is = getResources()。openRawResource(R.raw.country);

Log.i("TAG","is value==>"+is); 
DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
Document doc=builder.parse(is, null); 

//get the root node 
NodeList nodeList=doc.getElementsByTagName("STATE sname"); 

Log.i("TAG","nodeList Length --" + nodeList.getLength()); //output:- -1 
Log.i("TAG","nodeList name --" + nodeList.item(0).getNodeName()); 
//output:- message 
for(int j=0; j<nodeList.getLength(); j++) { 
Node nodee=nodeList.item(j); 
for(int i=0;i<nodee.getChildNodes().getLength();i++) 
{ 
Node node=nodee.getChildNodes().item(i); 
if(node.getNodeName().equalsIgnoreCase("STATE sname")){ 
Log.i("TAG","from node::" + node.getTextContent()); 

countryname.add(node.getTextContent()); 
countrySelector.setAdapter(countryname); 


countrySelector.setOnItemSelectedListener(this); 

} 
else if(node.getNodeName().equalsIgnoreCase("DISTRICT dname")){ 
Log.i("TAG","to node::" + node.getTextContent()); 
countryid.add(node.getTextContent()); 
} 
} 
} 


is.close(); 
} 
catch(Exception e){ 
System.out.println("ERROR while parsing xml:----" + e.getMessage()); 
} 

这个分析过程中使用,并使用微调显示值