1

何百ものレッスン用に、以下のようなノードを含む XML ファイルがあります。各レッスンには、XML ファイル内に複数のノード (最大 50) があります。

XML を読み込んで、要求されたレッスン番号を持つレッスン ノードのみを選択し、レッスン ノードのデータをインデックス番号順 (i の順序) で表示したいと考えています。たとえば、レッスン 1 ~ 3 を使用する場合、コードは、それらのレッスンがインデックス 0 で始まり、インデックス 75 で終わると判断します。レッスン範囲の開始インデックスと終了インデックスを取得すると、残りの部分がわかります。または、説明されていることを行うためのより簡単な方法があれば、それを試してみます.

<Course>
    <i>
        <Lesson>1</Lesson>
        <Word1>tank</Word1>
        <Audio1>../audio/1s-1a.mp3</Audio1>
        <Word2>fish</Word2>
        <Audio2>../audio/1s-1b.mp3</Audio2>
    </i>
    <i>
        <Lesson>1</Lesson>
        <Word1>thought</Word1>
        <Audio1>../audio/1s-2a.mp3</Audio1>
        <Word2>action</Word2>
        <Audio2>../audio/1s-2b.mp3</Audio2>
    </i>
    <i>
        <Lesson>1</Lesson>
        <Word1>trace</Word1>
        <Audio1>../audio/1s-3a.mp3</Audio1>
        <Word2>follow</Word2>
        <Audio2>../audio/1s-3b.mp3</Audio2>
    </i>
</Course>
4

1 に答える 1

2

これを試してください、それは私によって動作します:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<fx:Script>
    <![CDATA[
        private var data:XML = 
            <Course>
                <i>
                    <Lesson>1</Lesson>
                    <Word1>tank</Word1>
                    <Audio1>../audio/1s-1a.mp3</Audio1>
                    <Word2>fish</Word2>
                    <Audio2>../audio/1s-1b.mp3</Audio2>
                </i>
                <i>
                    <Lesson>1</Lesson>
                    <Word1>thought</Word1>
                    <Audio1>../audio/1s-2a.mp3</Audio1>
                    <Word2>action</Word2>
                    <Audio2>../audio/1s-2b.mp3</Audio2>
                </i>
                <i>
                    <Lesson>3</Lesson>
                    <Word1>trace</Word1>
                    <Audio1>../audio/1s-3a.mp3</Audio1>
                    <Word2>follow</Word2>
                    <Audio2>../audio/1s-3b.mp3</Audio2>
                </i>
                <i>
                    <Lesson>5</Lesson>
                    <Word1>trace</Word1>
                    <Audio1>../audio/1s-3a.mp3</Audio1>
                    <Word2>follow</Word2>
                    <Audio2>../audio/1s-3b.mp3</Audio2>
                </i>
            </Course>

        protected function onBtnClick(event:MouseEvent):void
        {
            var xmlList:XMLList = data.i.(Lesson >= 1 && Lesson <= 3);
            //do something
        }

    ]]>
</fx:Script>

<s:Button label="Get Lessons" click="onBtnClick(event)" />
</s:Application>
于 2013-04-02T17:03:31.013 に答える