我正在使用HTML5的JavaScript工作,並且陷入某個方面。我要做到以下幾點:Javascript和XML
- 創建使用JavaScript(這是相當容易的)從可用的在線
- 在表格中輸入的值的XML文件
- 提取細節的表格
例如,linkhttp://www.tfl.gov.uk/tfl/syndication/feeds/cycle-hire/livecyclehireupdates.xml包含每個工作站的循環可用性信息 1.我需要創建一個表格兩列。一個用於'Station Name',另一個用於'可用週期數' 2.我需要編寫代碼,只將上述鏈接作爲輸入並提取'Name'和'nbEmptyDocks'的值。
例如:<name> ABC,Surrey </name> <nbEmptyDocks> 10 </nbEmptyDocks>
,我將如何提取ABC,Surrey和10的值並將它們放在相應的列中?
<!DOCTYPE html>
<html>
<body>
<script language= "JavaScript">
document.write('<br> <br><table width="50%" border="1">'); document.write('<th> Dock Station');
document.write('<th> Number of Cycles');
document.write('<br> <br><table width="50%" border="1">');
var Connect = new XMLHttpRequest();
Connect.open("GET", "http://www.tfl.gov.uk/tfl/syndication/feeds/cycle-hire/livecyclehireupdates.xml", false);
Connect.setRequestHeader("Content-Type", "text/xml");
Connect.send(null);
var TheDocument = Connect.responseXML;
var station = TheDocument.childNodes[0];
for (var i = 0; i < 5; i++)
{
var stations = station.children[i];
var name = stations.getElementsByTagName("name");
var avail = Customer.getElementsByTagName("nbEmptyDocks");
document.write("<tr><td>");
document.write(name[0].textContent.toString());
document.write("</td><td>");
document.write(avail[0].textContent.toString());
document.write("</td>");
document.write("</tr>");
}
document.write (" </table>");
</script>
</body></html>
在進一步閱讀,我明白了上面的代碼可能無法爲Chrome工作,我需要一個鍍鉻的作品。
<html>
<body>
<script>
var xmlDoc;
var xmlloaded = false;
function initLibrary()
{
importXML("http:///www.somedomain.com/somesubdir/somefile.xml");
}
function importXML(xmlfile)
{
try
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", xmlfile, false);
}
catch (Exception)
{
var ie = (typeof window.ActiveXObject != 'undefined');
if (ie)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
while(xmlDoc.readyState != 4) {};
xmlDoc.load(xmlfile);
readXML();
xmlloaded = true;
}
else
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.onload = readXML;
xmlDoc.load(xmlfile);
xmlloaded = true;
}
}
if (!xmlloaded)
{
xmlhttp.setRequestHeader('Content-Type', 'text/xml')
xmlhttp.send("");
xmlDoc = xmlhttp.responseXML;
readXML();
xmlloaded = true;
}
}
</script>
</body>
</html>
但這似乎沒有工作,要麼
你在javascript中獲得了多少?我們不會從頭開始爲你編寫 – Johan
除非你的站點因爲[同源策略](http://en.wikipedia)託管了xml文件,否則你可能無法用Javascript來做你想做的事情。組織/維基/ Same_origin_policy)。 – Danny
@Johan我已將代碼添加到問題 – user3297662