2009-11-12 1 views
0

sdk 3.0에서 이상한 문제가 나타났습니다. XML을 구문 분석 할 때 모든 sdk 2.x에서는 잘 작동하지만 sdk 3.0에서는 제대로 작동하지 않습니다.NSXmlParser가 iphone SDK 3.0에서 작동하지 않습니다.

NSXMLParser에서 차이점을 찾지 못했지만 2.x sdk는 정상적으로 작동하고 3.0은 그렇지 않습니다. 누군가 그런 문제를 만났고 어떻게 해결할 수 있는지 말해 주시겠습니까? -> rssParser는 NSXmlParser 개체입니다. SDK에

3.0

난이 메소드를 호출 [rssParser 분석].; (NSXMLParser *) 파서 parseErrorOccurred :

는 첫 번째 방법이라는 내 파서는이

  • (무효) 파서 (NSError *) parseError

을하고 그 후에는 아무것도 실시하지 않습니다. (NSXMLParser *) 파서 parseErrorOccurred : (NSError *) parseError

난 SDK 2.2.1

을 선택할 때

은 또한이 방법을

  • (공극) 파서를 호출 파서가 구문 분석을 중단하지 않으면 NSXmlParser의 다른 대리자를 계속 호출합니다. , 라인 (널) :

    구문 분석 오류가

    오류 65 설명 모두 동일 하나, 열 :! 60

    이것은 첫 번째 줄

    의 DOCTYPE html로 PUBLIC "-// W3C // DTD HTML 4.01 Transitional // "<"을 양쪽에 사용합니다.

+0

에 대한 코드를 얻으려면 아마도 몇 가지 코드를 게시하고 잘못을 정확하게에 대해 구체적으로. 나는 NSXMLParser를 사용하지 않았지만, 문제없이 sdk 3.x에서 libxml을 사용했습니다. –

+0

NSXMLParser는 2.2.1 및 3.0 SDK 모두 나를 위해 잘 작동했습니다. – Vladimir

+0

parserError는 무엇이며 두 펌웨어 버전 모두에서 동일합니까? –

답변

1

실제로 문제는 3.0에서는 NSXmlparser가 더 많이 제한되어 있으며 오류가있는 3.0의 파일을 구문 분석하지 않습니다. Yannick Compernol이 제공하는 답변이 정확합니다. libxml2를 사용하는 문제를 불쾌하게 여기십시오.이 링크를 볼 수 있습니다. 구문 분석

http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html

3

글쎄, NSXMLParser로 HTML 파일을 구문 분석하려고합니다. NSXMLParser는 유효한 XML 파일이 필요하고 HTML 파일은 유효한 XML 파일이 아니지만 거의 모든 것이 아닙니다. 예를 들어 doctype은 유효한 XML이 아닙니다. 당신이 직업에 잘못된 "도구"를 사용하고 있습니다.

3.x에서는 작동하지 않지만 2.x에서는 작동하지 않는 이유는 나에게는 알려지지 않았기 때문에 결국 동작이 변경된 것처럼 보입니다.

libxml2를 사용하여 NSXMLParser가 아닌 HTML 파일을 구문 분석하는 것이 좋습니다. Libxml2는 "실제"HTML을 구문 분석하는 데 사용할 수 있습니다.

이 StackOverflow의 주제를보고 할 수 있습니다 : 거기 2.x는 파서가 과거 얻을 수 귀하의 XML의 오류입니다하지만 3.0 파서보다 엄격한 정지처럼 소리
parsing HTML on the iPhone

0

.

이 오류의 원인이되는 가장 작은 xml을 게시 할 수 있습니까?

0

내 xml 파일은 문제가 해결 제거 후 오류를

가 포함되어 있습니다. 왜 OS X 2.2.1에서 NSXMLParser에 대해 잘 작동하는지 알지 못합니다. xml 파일의 오류를 무시할 수도 있습니다.