如何编写XML数据2维数组

时间:2017-09-28 08:37:30

标签: javascript arrays xml

snippt显示XML详细信息:请参考图像,显示表格...



<ExtractSummaryDateSet>
      <_date>2017-09-20</_date>
      <_portfolioSummaries>
        <ExtractSummaryDateSetDetail>
          <_portfolioName>52613661_CL</_portfolioName>
          <_detail>
         
            <Before>0</Before>
            <After>-329</After>
            <ChangeMaturing>0</ChangeMaturing>
            <ChangeNew>-329</ChangeNew>
            
           
          </_detail>
        </ExtractSummaryDateSetDetail>
        <ExtractSummaryDateSetDetail>
          <_portfolioName>52613661_LP</_portfolioName>
          <_detail>
           
         
            <Before>0</Before>
            <After>-329</After>
            <ChangeMaturing>0</ChangeMaturing>
            <ChangeNew>-329</ChangeNew>
         
          </_detail>
        </ExtractSummaryDateSetDetail>
        <ExtractSummaryDateSetDetail>
          <_portfolioName>526136|Total</_portfolioName>
          <_detail>
         
            <Before>0</Before>
            <After>-329</After>
            <ChangeMaturing>0</ChangeMaturing>
            <ChangeNew>-329</ChangeNew>
            
           
          </_detail>
        </ExtractSummaryDateSetDetail>
&#13;
&#13;
&#13;

我正在尝试在XML中使用2个Dimential数组来创建表格HTML

        for (var i = 0; i < x.length; i++){
                  var row= x[i];
                  var date = row.getElementsByTagName("Date")[0].childNodes[0].nodeValue;
        for(var j = 0;j < row.length; j++){

            var  before = row[j].getElementsByTagName("Before")[0].childNodes[0].nodeValue; 
            var  after = row[j].getElementsByTagName("after")[0].childNodes[0].nodeValue; 
    }
}

只是想知道上面的例子在语义上是否正确?
在第二个数组中,我可以使用row [j]来调用数组

for (var y = 0; y < x.length; y++){


for (var i = 0; i < x[i].length; i++){

    table_summary +="<th></th><th></th><td>" + x[y][j].getElementsByTagName("_date")[0].childNodes[0].nodeValue + "</td>" ;

}

如何正确传递值? x [y] [i]无法找到该值。

enter image description here

2 个答案:

答案 0 :(得分:1)

我正在研究Web应用程序中的XML格式,遇到类似的问题。您可以像处理方法一样将XML转换为HTML,但是从XML创建HTML标记非常麻烦。

  

我建议您使用XSLT进行此转换。

我为您的XML创建了一个简单的XSLT,并且很容易转换此转换。

请参阅 Online transform ,然后点击结果面板中的 html ,查看您的XML的HTML输出。

答案 1 :(得分:0)

您可以将多维数组视为数组数组。

所以这很好:

for (var i = 0; i < x.length; i++){
    var row= x[i]

    for(var j = 0;j < row.length; j++){
        var  before = row[j];
    }
}

但是你也可以这样写:

for (var i = 0; i < x.length; i++) {
    for(var j = 0;j < x[i].length; j++) {
        var  before = x[i][j];
    }
}