0

次のxmlファイルがあります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<game>
  <a>
    <b>
      <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="picture">
        <pic>sample.png</pic>
      </test>
      <c>
        <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="content">
          <text> Something </text>
          <photo> p1.png </photo>
          <position> middle </position>
        </test>
        <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="content">
          <text> Something else </text>
          <photo> p2.png </photo>
          <position> corner </position>
        </test>
        <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="content">
          <text> some text here </text>
          <photo> p3.png </photo>
          <position> corner </position>
        </test>
      </c>
    </b>
  </a>
</game>

この xml は、MVC アーキテクチャに従うコードで解析されています。コードはモデルによって解析され、ビューに表示されます。ビューは、ビュー上の要素のシーケンス動作を認識している必要があります。たとえば、上記の xml では、解析されてタグ内の最初のタグに遭遇すると、ビューには画像 samle.png が含まれている必要があります。下に来て、タグ内にある 3 つのタグを見ると、ビューには最初に写真 p1 が表示され、しばらくすると写真 p1 が消去され、次に写真 p2 と p3 がビューに表示されます。

ここでは、コーディング部分について気にする必要はありません。タスクは、xml を介して「これがシーケンスである」ことをコードに伝えることです。これは、上記のイベントのシーケンスを伝える何かを xml に書き込む必要があることを意味します。コードによって解析されると、コードは何を理解します。はシーケンスであり、それに応じてビューにレンダリングします。

混乱している場合はお知らせください。または、ここであなたのアプローチを教えてください。いくつか試してみましたが、正しいとは思いません。何か思いつく人いたら教えて

4

1 に答える 1

1

XML アプリケーションの通常の規則では、XML ドキュメント内の要素のシーケンスが情報を伝達する可能性があるため、適切に設計されたすべての汎用 XML API は、親内の子のシーケンスを API を通じて可視にします。たとえば、SAX インターフェースでは、要素のシーケンスは SAX イベントのシーケンスによって伝達されます。DOM インターフェイスでは、シーケンス情報はノードのプロパティに記録され、子のシーケンスで次のノードを見つけることができます。

そのため、XML に対して非常に風変わりなインターフェイスを使用している場合を除き、シーケンス情報を XML に追加する必要はありません。モデルに必要なシーケンス情報が含まれていること、および XML からモデルにデータを入力するためのコードが正しく動作することを確認する必要があるだけです。幸運を。

于 2012-09-25T14:54:49.390 に答える