2011-07-17 17 views
1

A NSXMLParserErrorDomainの#64はNSXMLParserによってスローされた上でNSXMLParserErrorDomain第64位をスローします。 xmlはphp5.3 apacheシステムを経由しています。この行を省略すると、ドキュメントはエラーなく解析されます。私たちはサーバーを所有していますので、この行をフィルタリングすることができますが、パーサーを修正したいと思います。はNSXMLParserは、それが次の行を見つけた場合

+0

: は、ここでは私のために働くの簡単な解決策は、単に解析の前に入ってくる文字列を修正しています。 –

答えて

1

バイトオーダーマークやその他の隠し文字のように、ライン上にうねりがないのは確かですか?もちろん、これがドキュメントの最初の行であると仮定すれば、私はその行にエラーを引き起こすと思います。

また、encoding="UTF-8"を追加すると、ドキュメントの最初の行である必要があります。また、隠し文字、間違ったスペース(空白の代わりにnbsp-sなど)などが必要です。

+0

Ur right ... タグの前に来るジャンク値は、エラーの理由です.Uは、以下に示すDejanRの解決策を試すことができます。それは完璧に正常に動作します。 –

3

PHPサーバが<?XMLの見出しの前にいくつかの迷惑と空白を返すので、問題が発生します。それはおそらく、このエラーは `NSXMLParserMisplacedXMLDeclarationError`であることを指摘する価値がある

NSRange range = [theXML rangeOfString:@"<?xml"]; 
theXML = [[theXML substringFromIndex:NSMaxRange(range)-5] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSData *xmldata = [theXML dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
+1

スーパー...それは完璧に動作します.. –

関連する問題