2012-02-14 2 views
0

XPath를 사용하지 않고 NSXMLDocument를 사용하면 XML 문서를 구문 분석하고이를 사용자 지정 개체로 deserialize하여 개체 트리 계층 구조를 만들 수 있습니다.NSXMLDocument 사용자 지정 개체로 구문 분석

예를 들어, 아래에 표시된 XML이있는 경우 세부 정보를 Restaurant 개체와 콘텐츠 개체에 넣을 수 있습니까?

<restaurants> 
    <content>spanish name</content> 
    <content>english name</content> 
</restaurant> 
<spa> 
    <content>spa spanish name</content> 
    <content>spa english name</content> 
</spa> 

iOS에서 kissxml로 프로그래밍 할 때 위의 답변을 사용합니다. kissXML 문서에서 XML 구문 분석기가 NSXMLDocument와 같은 방식으로 작동한다고 언급 했으므로 NSXMLDocument를 사용하여 질문했습니다.

답변

1

예상되는 콘텐츠 구조를 알고 있다면 가장 쉬운 방법은 NXMLParser을 사용하고 필요한 비트를 찾고 이전 비트를 추적하여 찾을 때 개체를 만드는 것입니다.

트리 기반 접근 방식을 원한다면 XQuery와 XPath를 배워보십시오. 모두 그렇게 나쁘지는 않습니다. NSXMLDocument가 없으면 실제로 코코아 바인딩 만 제공됩니다.

하루가 끝나면 어떻게 든 데이터를 변환해야합니다.

NSXMLDocument를 사용하면 가능하면 XML DTD에 대해 유효성을 검사하여 좋은 데이터를 얻을 수 있습니다.

NSXMLParser를 사용하면 공식적인 DTD없이 처리 할 수 ​​있습니다. 데이터가 얼마나 큰지, 구문 분석 할 방법을 염두에두고 테스트 데이터로 시행 착오를 수행하여 원하는 데이터를 얻고 있는지 확인하십시오.

관련 문제