【问题标题】:Retrieve xml data in table format in html在html中以表格格式检索xml数据
【发布时间】:2018-12-10 09:16:30
【问题描述】:

我想以表格格式检索 HTML 格式的 XML 数据。我尝试使用 ajax,但数据不来。这可能是什么问题,任何人都可以帮助我。我是ajax新手。随意说出我的代码中的任何错误。下面是我想要喜欢的图片

 $(document).ready(function() {

        $(window).load(function () {
            $.ajax({
                type: 'GET',
                url: '2.xml',
                dataType: 'xml',
                success: function myFunction(xml) {
					  var i;
					  var xmlDoc = xml.responseXML;
					  var table="<tr><th>Artist</th><th>Title</th></tr>";
					  var x = xmlDoc.getElementsByTagName("Row");
					  for (i = 0; i <x.length; i++) { 
					    table += "<tr><td>" +
					    x[i].getElementsByTagName("Process")[0].childNodes[0].nodeValue +
					    "</td><td>" +
					    x[i].getElementsByTagName("Product")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("Operation")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("Description")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("Batch")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("QTY")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("PlannedSchedule")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					     x[i].getElementsByTagName("ActualSchedule")[0].childNodes[0].nodeValue +
					    "</td></tr>" +
					    x[i].getElementsByTagName("Status")[0].childNodes[0].nodeValue +
					    "</td></tr>";

					  }
					  document.getElementById("demo").innerHTML = table;
					}
            });
        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="demo"></table>

XML:

  <Rowsets>
  <Rowset>
      <Row>
      <Process>70787863</Process>
      <Product>600033</Product>
      <Operation>Operation goes here</Operation>
      <Description>Operation description goes here</Description>
      <Batch>259</Batch>
      <QTY>999</QTY>
   </Row>
   <Row>
      <Process>707863</Process>
      <Product>6033</Product>
      <Operation>Operation goes here</Operation>
      <Description>Operation description goes here</Description>
      <Batch>249</Batch>
      <QTY>99</QTY>
   </Row>
   </Rowset>
   </Rowsets>

【问题讨论】:

    标签: jquery angularjs ajax xml


    【解决方案1】:

    我认为您的代码的问题是您在 xmlDoc 中未定义..

    您可以通过以下代码实现。

    HTML

    <table id="demo">
    <thead>
        <th>Product</th>
        <th>Process</th>
        <th>Operation</th>
        <th>Description</th>
        <th>Batch</th>
        <th>Qty</th>
    </thead>
    <tbody></tbody>
    

    JS

    $.ajax({
        type: 'GET',
        url: 'data.xml',//Your xml data
        dataType: 'xml',
        success: function(xml){
            $(xml).find("Row").each(function(){
                var Product = $( this ).find( 'Process' ).text()
                var Process = $( this ).find( 'Product' ).text()
                var Operation = $( this ).find( 'Operation' ).text()
                var Description = $( this ).find( 'Description' ).text()
                var Batch = $( this ).find( 'Batch' ).text()
                var Qty = $( this ).find( 'Qty' ).text()
                $('#demo tbody').append('<tr><td>'+Product+'</td><td>'+Process+'</td><td>'+Operation+'</td><td>'+Description+'</td><td>'+Batch+'</td><td>'+Qty+'</td></tr>')
    
            });
        }
        })
    

    【讨论】:

    【解决方案2】:

    你真的应该看看 JQuery 数据表,我一直用它们来用 Ajax 数据填充一个表。

    JQuery Datatables

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多