2012-04-12 3 views
0

私のアプリは、XMLのファイルで動作することを前提としています。私はxmlファイルを分析し、画面を描画したい。NSXMLParser:ここで値を格納しますか?

<app> 
    <screens>   
    <screen name="myscreen1"> 
      <font fontsize="32" fontcolor="#000000" fontface="font.ttf"/> 

      <button tmpl="bk"/> 

      <list area="0px 74px 100% 100%"> 
       <item tmpl="myitem1" target="myitemelsewhere"> 
        <image tmpl="myitem1" img="myimg1.png"/> 
        <text tmpl="myitem1">Test</text> 
       </item> 
       <item tmpl="myitem2" target="myitemelsewhere"> 
        <image tmpl="myitem2" img="myimg2.png"/> 
        <text tmpl="myitem2">Test</text> 
       </item> 
      </list> 
    </screen> 
<!--screen 2 the same way --> 
</screens> 
</app> 

私はNSXMLparserを実装し、私は単に属性とタグを読み取ることができますので、たとえば、私は、構造体のxmlファイルを持っています。それはではなく、です。私の質問は。私が最初の要素(ex myscreen1)を取得するとき、どこに置くのが最も良いアイデアなのですか?後ですべてのスクリーン宣言タグと属性を取得しますか? NSSetNSDictionaryNSArray?例:

+0

方法について... IVAR:ここでは、始めるためのサンプルコードの素晴らしい作品ですか? – QED

+0

これはXMLの極秘です。実際のXMLでは多くのパラメータがありますが、私はそれらのすべての変数を必要としません。辞書/配列/集合(辞書の配列かもしれない)を作成する方法があると思っています。それから新しいパラメータを追加すると、極端に単純になります。 – Kuba

+0

私はそこに何かをしていると思います。 XMLドキュメントを読んだり、サンプルコードを見たりして、いくつか試してみてください。研究努力 – QED

答えて

1

通常、ストリーミング中のデータを保持する変数と、処理しているXMLタグを格納する変数があります。上記の場所は、現在処理しているXMLタグを設定する場所です。

http://weblog.bignerdranch.com/?p=48

+0

素晴らしい例です。だから私はクラスへの変数を作成することができ、これはまだ進行中です。 Thx、それは多くのexmplain。 – Kuba

+1

ええ、あなたはXMLから何を格納しているクラスを作成し、そのクラスにはいくつかの変数があります。おそらくuserNameとuserPhoto変数を持つUserクラスです。 –

+0

死んだリンク:-(実際には、辞書の階層にXMLを読み込むためのサンプルコードがあります。サンプルコードは、Appleの書かれているようなものです。 –