从xml动态获取数据

时间:2012-02-09 08:59:12

标签: java android xml media-player

<Point  TestFlag="0" id="1" name="Session Introduction">
        <PracticeText> </PracticeText>
        <PracticeFlag> 0 </PracticeFlag>
        <ImageFile gid="1" id="1" name="d002_p001_01" type="png" />
        <AudioFile gid="1" id="2" name="d002_ae_p001.mp3" type="mp3" />
        </Point>

<Point  TestFlag="0" id="1" name="Conversation Introduction">
        <PracticeText> </PracticeText>
        <PracticeFlag> 0 </PracticeFlag>
        <ImageFile gid="1" id="1" name="d002_p001_02" type="png" />
        <AudioFile gid="1" id="2" name="d002_ae_p002.mp3" type="mp3" />
        </Point>

<Point  TestFlag="0" id="1" name="Dialogue sets">
        <PracticeText> </PracticeText>
        <PracticeFlag> 0 </PracticeFlag>

        <ImageFile gid="1" id="1" name="d002_p001_01" type="png" />
        <AudioFile gid="1" id="2" name="d002_ae_p001.mp3" type="mp3" />

            <ImageFile gid="1" id="1" name="d002_p001_02" type="png" />
            <AudioFile gid="1" id="2" name="d002_ae_p002.mp3" type="mp3" />
        </Point>

我基本上在这里做的是播放音频文件并显示xml中AudioFileImageFile标签中的图像,但是当用户点击时我正在播放的前两个点基于i值的下一个按钮。但是当谈到第三点时,我正在连续播放2个音频和2个图像。

为了连续播放音频文件,我正在使用oncompletion listener。

我的问题是 我希望它能够动态实现。 2.如果我们能够在将来在这三个点的中间插入一个或两个以上的点时能够动态地实现它也应该工作

如何做到这一点,请帮助我被困住

1 个答案:

答案 0 :(得分:0)

获取一个点的每个子标记的长度

试试这可能会对你有所帮助

NodeList image = doc.getElementsByTagName("Point");
            Element firstLevel = (Element)singleTerminalNode;
        NodeList value1Nodes = (firstLevel).getElementsByTagName("ImageFile");
        lengthofimage = value1Nodes.getLength();