2011-01-20 7 views
0

複数のNSXMLParserDelegateパーサーがあるXMLツリーファイルを解析しようとしていますが、次の問題が発生しています。複数のデリゲートを持つNSXMLParser

私のXML構造は、次のようなものです。

<Object1> 
    <Name>Ricky</Name> 
    <Surname>Woodstock</Surname> 
    <Adress> 
      <City>Los Angeles</City> 
      <State>California</State> 
      <Country>USA</Country> 
    </Adress> 
    <Items> 
      <Item> 
       <Id>1</Id> 
       <Description>Sports Bag</Description> 
       <Price>13.45</Price> 
      </Item> 
      <Item> 
       <Id>2</Id> 
       <Description>Baseball Cap</Description> 
       <Price>6.90</Price> 
      </Item> 
    </Items> 
    <Total>20.15</Total> 
</Object1> 

そして、私の問題は、私が代表者を変更したとき、それはトップレベルのタグではない解析を開始し、代わりにそれは最初のネストされたタグに構文解析を開始しますということです。

たとえば、

  1. 私はそれがAdresssタグに達したとき、私はXMLAdressParserにデリゲートを設定する(そして返すために自己にXMLAdressParserの親を設定)要素

  2. を解析するのXMLObjectパーサWIH XMLの構文解析を開始するが、XMLAdressParserはタグに解析を開始。

  3. ほとんどの項目と項目タグがあります。

は、私はそれはパーサの定義の通常の原因だと思うが、それは問題だ:

デリゲートが最初のものと同様に、correspondintタグに解析を開始するためにどのような方法がありますか?

ご協力いただきありがとうございます。

セルジオ

+1

なぜ複数の代議員を使用していますか? 1つはXMLの各部分を処理することができます –

+0

XMLをNSObjectに素早く変換するための汎用代理人を開発していますか、それを試しています... – Rotten

答えて

0

のではなく、私は、単一のデリゲートを使用して、あなたが適切な感じのように、それは仕事を配布した提案複数のデリゲートを使用して。

+3

複数の代理人がXMLを解析する有効な方法です。これは彼の質問に対する答えであるだけです。 –

+0

彼はNSXMLParserはNSXMLParserの仕組みだと言いました。それが一般的なXMLパースの質問だったなら、私は別の答えをしたでしょう。 –

+1

NSXMLParserは、Appleのドキュメントに記載されているように複数のデリゲートをサポートしています。私は元のポスターがそれをどのように使用するかの例を探していたと思います(それでは私もそうです) – EmmEff

関連する問題