2

次のようなXMLファイルがあります。

<?xml version="1.0"?>
<categories>
   <category id="1">
      <category_name>Banks</category_name>
   </category>
   <category id="4">
      <category_name>Restaurants</category_name>
   </category>
</categories>

[xmlParser parse]メソッドは、エラーなしでTRUEを返します。しかし、各要素を印刷すると、次の結果が得られます。

Processing characters: 

    Restaurants

'Restaurants'の空の行とわずかなインデントに注意してください。私のfoundCharactersメソッドは上記を出力します。

 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

if(!currentElementValue)
    currentElementValue = [[NSMutableString alloc] initWithString:string];
else
    [currentElementValue appendString:string];

NSLog(@"Processing characters: %@", currentElementValue);
}

これにより、UITableViewCellのテキストがインデントされます-これはなぜですか?

imageViewプロパティが設定されていません。

ありがとうジョー

4

3 に答える 3

3

この問題を解決するために以下を使用しました

NSString *trimmedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

出来た

于 2009-12-05T02:03:35.593 に答える
1

何が起こっているのかというと、foundCharacters メソッドが書き込んでいるものが何であれ、新しい要素の開始を見つける際にクリアされていないため、タグのインデントによる空白がまだぶら下がっている. 要素の終わりを見つけるときにのみクリアすると、説明したような結果が得られます。

于 2009-12-04T20:04:38.623 に答える
0

ignoreWhiteSpace利用できる物件はありますか?

于 2009-12-04T20:03:12.070 に答える