使用JavaScript将HTML内容替换为外部XML文件中的内容?
我正在尝试将API生成的XML文件与(当前)静态网页连接起来,该网页位于。我有一个HTML文件的结构大致如下:使用JavaScript将HTML内容替换为外部XML文件中的内容?,javascript,html,xml,innerhtml,Javascript,Html,Xml,Innerhtml,我正在尝试将API生成的XML文件与(当前)静态网页连接起来,该网页位于。我有一个HTML文件的结构大致如下: <div> <span id="content">No Content Yet</span> </div> 还没有内容 和中的一些Javascript来确定中的内容: 函数myFunction(){ document.getElementById(“content”).innerHTML=“现在有一些内容!”; 和,因此
<div>
<span id="content">No Content Yet</span>
</div>
还没有内容
和
中的一些Javascript来确定
中的内容:
函数myFunction(){
document.getElementById(“content”).innerHTML=“现在有一些内容!”;
和
,因此它会在加载时触发
这一切都有效
我想做的是使用一个由API(确切地说是伦敦传输API)生成的外部XML文件,该API托管在一个URIhttp://cloud.tfl.gov.uk/TrackerNet/LineStatus
,使用javascript解析它以获取信息,并使用该信息更新我的
document.getElementById(“content”).innerHTML=“现在有一些内容!”;
显示在引号内,即用存在于某个标记内的XML文件生成的任何内容替换“Some Content Now!”,例如
,其中“Some Content Now!”将替换为“Good Service”
我希望这大体上是有意义的。我不知道如何进行这项工作,因此我们将非常感谢您的帮助。我已经查看了您的网站,了解了您发布的内容。在这些网站中,您有这样的元素,这些元素具有以下结构:
div xxx-line
|--- div details
|--- div status
|--- div details
有了这些,您可以选择直接在javascript中寻找您想要的内容。
您可以通过“status”或“details”的id调用它,也可以通过“div xxx line”查看课程,请随意
可以使用以下代码读取的xml:
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
这样,您就可以从节点获取信息:
//Get status
var status = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
//Get details
var details = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
使用变量状态或详细信息,您可以替换div的内容请参见:如果您的输入/输出变得复杂,XSLT可能是需要研究的内容。
//Get status
var status = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
//Get details
var details = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;