2012-09-25 84 views
0

序列我有以下XML文件:指定一個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中編寫一些內容,告訴上述事件的順序,當代碼解析時,代碼理解什麼是序列並相應地在視圖上呈現它。

讓我知道,如果它是混亂的,還是讓我知道你的方法在這裏,我嘗試了幾個人,但我不認爲他們是正確的。讓我知道如果任何人能想到的東西

回答

1

在XML應用程序的通常情況是元素的XML文檔中的順序可以傳達信息,因此,所有精心設計的通用的XML API使父之內兒童的序列通過API可見。例如,在SAX接口中,元素序列由SAX事件序列傳遞。在一個DOM接口中,序列信息被記錄在節點上的屬性中,這些屬性允許你找到子序列中的下一個節點等。

所以,除非你正在爲你的XML使用一個奇怪的接口,不需要向XML添加排序信息。您只需確保您的模型具有它所需的排序信息,並且您從XML填充模型的代碼確實是正確的。祝你好運。