2011-03-26 2 views
0
<item> 
    <RelatedPersons> 
     <RelatedPerson> 
      <Name>xy</Name> 
      <Title>asd</Title> 
      <Address>abc</Address> 
     </RelatedPerson> 
     <RelatedPerson> 
      <Name>xy</Name> 
      <Title>asd</Title> 
      <Address>abc</Address> 
     </RelatedPerson> 
    </RelatedPersons> 
</item> 

이 데이터를 SAXParser로 파싱하고 싶습니다. 내가 어떻게 할 수 있니? SAX에 대한 자습서를 알고 있으며 정상적인 RSS를 파싱 할 수 있지만이 데이터 만 구문 분석 할 수는 없습니다.이런 식의 XML 구문 분석

답변

1

은 문제를 정의 name, titleaddress :는 속성을 가지고 Person이라고 당신은 아마 할이 값 객체 (POJO)를 생성한다 수있는 것. 이 XML을 파싱하려는 목표는 ArrayList<Person> 개체를 만드는 것입니다. 명확한 데이터 구조를 정의하면 논리를 구축하는 데 도움이됩니다.

는 파서를 선택 : 그런 다음 태그를 탐색하기 위해 SAX 파서 또는 XML 풀 파서를 사용할 수 있습니다 see this lin for a tutorial on DOM, SAX and XML Pull Parser in Android.

데이터 인구 로직 : 그럼 당신은 <RelatedPersons> 태그가 발생할 때마다 구문 분석, 동안, 새로운 Person 객체를 인스턴스화합니다. 해당 Properties 태그를 발견하면 값을 읽고이 객체에 값을 채 웁니다. </RelatedPersons>이 닫히면이 Person 객체가 ArrayList에 덤프됩니다. 사용하는 파서에 따라 적절한 방법을 사용하여 하위 노드/중첩 노드를 찾아야합니다. (자세한 내용은 링크를 참조하십시오.)

마지막 항목 노드의 구문 분석이 끝나면 모든 ArrayList의 값.

더 많은 이론적 인 대답입니다. 나는 그것이 도움이되기를 바랍니다.