2011-03-30 6 views
0

아래 XML 파일을 구문 분석하려고합니다.Android 앱에서 XML 파일을 구문 분석하는 방법

<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> 

이 장의 수를 계산할 수 있습니다. 챕터의 수는 Q & A의 수와 같습니다. 나는 또한 나의 레이아웃에서 ok라는 이름의 버튼을 배치했다.

이제 첫 번째 질문을 표시하고 확인을 클릭 한 후 두 번째 질문을 표시하고 끝까지 진행합니다. 마지막 질문에 도달했을 때 나는 새로운 활동으로 옮기고 싶다.

이 작업을 수행하는 방법, pls help me

답변

1
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++){ 
    ... 
:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
doc = db.parse([the InpuTstream]); 

는 그런 다음 같은 문서를 사용할 수 있습니다 :다음의 InputStream과로 XML 읽기

1

도움 :

/** 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);    
    } 
관련 문제