日期:2014-05-16  浏览次数:20306 次

问一个比较难的问题
首先我用ajax从服务器端返回一个XML的文档,如下:
<Content>
<Article>
      <Title> 题目一 </Title>
      <pTime> 时间一 </pTime>
      <Author> 作者一 </Author>
<Article>    
<Article>
      <Title> 题目二 </Title>
      <pTime> 时间二 </pTime>
      <Author> 作者二 </Author>
<Article>    
<Article>
      <Title> 题目三 </Title>
      <pTime> 时间三 </pTime>
      <Author> 作者三 </Author>
<Article>    
</Content>

其中XML文档每个节点内容可以用解析器解析成这样的形式:
var   sortXml=doc.gnn(doc.root, "Content ");
for(var   i=0;i <sortXml.contents.length;i++)
{
    sortXml.contents[i].getValue( "Title ");    
    sortXml.contents[i].getValue( "pTime ");    
    sortXml.contents[i].getValue( "Author ");
}

然后我想在前台页面定义一个数组,让它循环每个XML中的Article内容:
<script>
var   arr   =   new   Array[{ "题目一 ", "时间一 ", "作者一 "},{...},{...}];
</script>

因为返回的XML内容中的Article内容不是固定长度的,请问这个arr可不可以定义?如何定义??

非常感谢!!

------解决方案--------------------
var arr = [];
var sortXml=doc.gnn(doc.root, "Content ");
for(var i=0;i <sortXml.contents.length;i++)
{
arr.push({
sortXml.contents[i].getValue( "Title "),
sortXml.contents[i].getValue( "pTime "),
sortXml.contents[i].getValue( "Author ")
});
}