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。当它来到下方并看到标签内的三个标签时,视图应该首先显示照片 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 回答