2011-07-12 70 views
0

我要構建這個XML文件:安排標籤elemenets與薩克斯在一個XML文件

<root> 
<data> 
<track src="123456"> 
<desc id="1" mt="audio/mp3" ra="24" dr="221" nv="10005761"> 
Madonna - La Isla Bonita 
</desc> 
<clipdata>PD94bWwgdmVyc2lvbj0iMS4wIiBlb</clipdata> 
</track> 
</data> 
<completed/> 
</root 

這是代碼的某些部分:

this.xml.startElement("", "", Const.XML_ROOT, atts); 
      this.xml.startElement("", "", Const.XML_DATA, atts); 
      atts.clear(); 

      atts.addAttribute("", "", "src", Const.XML_CDATA, "123456"); 
      this.xml.startElement("", "", Const.XML_TRACK, atts); 

      atts2.addAttribute("", "", "id", Const.XML_CDATA, "1"); 
      atts2.addAttribute("", "", "mt", Const.XML_CDATA, "audio/mp3"); 
      atts2.addAttribute("", "", "ra", Const.XML_CDATA, "24"); 
      atts2.addAttribute("", "", "dr", Const.XML_CDATA, "221"); 
      atts2.addAttribute("", "", "nv", Const.XML_CDATA, "10005761"); 

      this.xml.startElement("", "", "desc", atts2); 
      addCharacters(attsEmpty, "desc", "Madonna - La Isla Bonita"); 
      this.xml.endElement("", "", "desc"); 

      addCharacters(attsEmpty, "clipdata", "PD94bWwgdmVyc2lvbj0iMS4wIiBlb"); 

      this.xml.endElement("", "", Const.XML_TRACK); 

      this.xml.endElement("", "", Const.XML_DATA); 

      addCompleted(); 

      this.xml.endElement("", "", Const.XML_ROOT); 

我的問題是,我得到這個(我不想讓這首歌在另一個desc/desc中出現)。爲了獲得正確的XML,我需要更改哪些內容?謝謝。

<root> 
<data> 
<track src="123456"> 
<desc id="1" mt="audio/mp3" ra="24" dr="221" nv="10005761"> 
<desc>Madonna - La Isla Bonita</desc> 
</desc> 
<clipdata>PD94bWwgdmVyc2lvbj0iMS4wIiBlb</clipdata> 
</track> 
</data> 
<completed/> 
</root> 
+0

你的代碼片段沒有上下文。什麼是'this.xml'?什麼是'addCharacters'?什麼是'attrs'?什麼是'addCompleted'? – skaffman

+0

是的,我知道,我期待的答案會告訴我我的聲明順序,我想這就是問題所在,或者?那樣我沒有解釋他們 – Kobe

+0

我們不知道你的代碼意味着什麼,不知道這些事情做什麼。 – skaffman

回答

0

我的壞,我有另外的startElement(DESC)我addCharacters()函數中,這是造成重複的 「遞減」 標籤

+0

這就是爲什麼我想看到'addCharacters'的內容.... – skaffman

+0

對不起,我很安全,這不是問題。你能否發佈答案,以便我可以投票和接受? – Kobe