我只是想从XML文件中打印一个jQuery数组。这是我的代码。我试图从html代码中看到打印stockList。另外,我是否正确地做了onBodyLoad?如何从xml数据使用jQuery打印数组?
HTML:
<body onload="onBodyLoad()">
<div id="stockList"></div>
<br />
<br />
<br />
<div id="stockInfo"></div>
</body>
的jQuery:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "stocks.xml",
dataType: "xml",
success: function (onBodyLoad) {
var stocklist = new Array();
var stockinfo = new Array();
$(onBodyLoad).find('Stock').each(function() {
var company = $(this).find('Company').text();
var market = $(this).find('Market').text();
var sector = $(this).find('Sector').text();
var price = $(this).find('Price').text();
$(onBodyLoad).find('YearRange').each(function() {
var low = $(this).find('Low').text();
var high = $(this).find('High').text();
});
$(onBodyLoad).find('Dividend').each(function() {
var amount = $(this).find('Amount').text();
var yieldx = $(this).find('Yield').text();
var frequency = $(this).find('Frequency').text();
});
stocklist = $(company);
$('#stockList').append('<div><p>' + stocklist + '</p></div');
});
}
});
});
XML:
<Stock symbol="GOOG">
<Company>Google</Company>
<Market>NASDAQ</Market>
<Sector>Software</Sector>
<Price>$487.80</Price>
<YearRange>
<Low>$331.55</Low>
<High>$488.50</High>
</YearRange>
<Dividend available="false"/>
</Stock>
<Stock symbol="BA">
<Company>Boeing Company</Company>
<Market>NYSE</Market>
<Sector>Aerospace</Sector>
<Price>$79.05</Price>
<YearRange>
<Low>$63.70</Low>
<High>$89.58</High>
</YearRange>
<Dividend available="true">
<Amount>$1.20</Amount>
<Yield>$1.50</Yield>
<Frequency>QTR</Frequency>
</Dividend>
</Stock>
所需的输出:
谷歌
波音公司
难道你.. 。试试运行它?除了两个'.each()'调用不会做任何事情(他们所做的只是设置变量对回调函数是本地的),并且行'stocklist = $(company);'是很奇怪的因为'company'包含'Company'元素的'text()',但它将被评估为一个选择器字符串。正如Bhushan所说,“onload =”onBodyLoad()“'是无效的和不必要的。 – tcovo 2013-03-28 03:58:31
Plz发布xml代码和您想要的输出 – Sharun 2013-03-28 04:02:18