Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript将HTML内容替换为外部XML文件中的内容?_Javascript_Html_Xml_Innerhtml - Fatal编程技术网

使用JavaScript将HTML内容替换为外部XML文件中的内容?

使用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=“现在有一些内容!”; 和,因此

我正在尝试将API生成的XML文件与(当前)静态网页连接起来,该网页位于。我有一个HTML文件的结构大致如下:

<div>
    <span id="content">No Content Yet</span>
</div>

还没有内容
中的一些Javascript来确定
中的内容:


函数myFunction(){
document.getElementById(“content”).innerHTML=“现在有一些内容!”;
,因此它会在加载时触发

这一切都有效

我想做的是使用一个由API(确切地说是伦敦传输API)生成的外部XML文件,该API托管在一个URI
http://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;