Javascript 使用xmlhttprequest以html格式显示另一个xml文件中指定的xml文件中的xml数据
你能帮忙吗,我有一个基本的xml文件,它在html中显示得很好 xml文件是这样的Javascript 使用xmlhttprequest以html格式显示另一个xml文件中指定的xml文件中的xml数据,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,你能帮忙吗,我有一个基本的xml文件,它在html中显示得很好 xml文件是这样的 <videoList> <video> <pointer> <type><![CDATA[image]]></type> <lat><![CDATA[52.1]]></lat>
<videoList>
<video>
<pointer>
<type><![CDATA[image]]></type>
<lat><![CDATA[52.1]]></lat>
<long><![CDATA[1.0]]></long>
</pointer>
<speaker>
<firstName><![CDATA[Mr Car Dealer]]></firstName>
<town><![CDATA[]]></town>
<description><![CDATA[Car Dealer]]></description>
<longDescription><![CDATA[A car dealer selling BMW's and Audi's]]></longDescription>
<videoCaption><![CDATA[captions/bmw.xml]]></videoCaption>
<video><![CDATA[video/9ADA1C9.flv]]></video>
<story><![CDATA[]]></story>
<picture><![CDATA[images/bmw.jpg]]></picture>
</speaker>
</video>
除了
标记中的数据外,所有内容都显示良好-此链接指向另一个XML文件,该文件由以下内容组成
<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/2006/04/ttaf1" xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling">
<head>
<styling>
<style id="1" tts:textAlign="right"/>
<style id="2" tts:color="transparent"/>
<style id="3" style="2" tts:backgroundColor="white"/>
<style id="4" style="2 3" tts:fontSize="10"/>
</styling>
</head>
<body>
<div xml:lang="en">
<p begin="00:00:00.20" dur="00:00:02.00">My name is Mr Car.</p>
<p begin="00:00:02.30" dur="00:00:03.00">We offer original car parts.</p>
</div>
</body>
</tt>
我的名字是卡尔先生。
我们提供原装汽车零部件
我试图做的是显示第二个xml文件中的数据以及相应的数据,但没有成功。在第一个xml文件中,大约有10个条目,每个条目都链接到
标记中的一个单独的xml文件
到目前为止,我已经成功地在iFrame中显示了第二个xml文件,但是我无法使用css来设置它的样式,而且它在Firefox中也不起作用
目前,我正在使用dreamweaver spry方法以html格式显示数据
我有一个很好的回应
简而言之,我会抓住
第二个XML文件(假定其位于同一位置)
域),然后
将其适当地插入到a中
定位师
这样,CSS样式仍将保持不变
对它来说,这似乎是不可能的
使用iframe时的情况
在当前工作的html中使用xmlhttprequest的最佳方法是什么。我已经设置了一个表来显示xml,并且包含了XMLHttpRequest.js,但是我不喜欢显示第二个文件中的实际数据
<table width="600" border="0" align="center" cellpadding="0" cellspacing="14" class="storyContainerBack">
<tr>
<td width="144" align="left" valign="top">{firstName}<br />
{description}<br />
<br />
<img src="{picture}" width="80" height="80"/></td>
<td width="424" align="left" valign="top"><p class="storyTableTitle">{longDescription}</p>
<p class="storyTableCaption">
<script type="text/javascript">
var req = new XMLHttpRequest(); if (req) { req.onreadystatechange = function() { if (req.readyState == 4 && (req.status == 200 || req.status == 304)) { alert(req.responseText); } }; req.open('GET', '{videoCaption}'); req.send(null); }
</script>
</p>
</td>
{firstName}
{说明}
{longDescription}
var req=新的XMLHttpRequest();if(req){req.onreadystatechange=function(){if(req.readyState==4&&(req.status==200 | | | req.status==304)){alert(req.responseText);};req.open('GET','videoCaption}');req.send(null);}
如果有人能告诉我如何显示第二个xml文件的结果,那就太好了
谢谢这可能会起作用(未经测试,因此可能会出现一些小的语法问题),您可以将其放在表下
标记:
function getVideoChild() {
var req = new XMLHttpRequest();
req.open("GET", "whatever-file-name-is.xml");
req.onload = function() {
var result = req.responseText;
// If you need to manipulate result, do it here, then this:
var target = document.getElementsByClassName('storyTableCaption')[0].innerHTML = result;
};
req.send();
}
我把它移到了标记之外,因为AJAX请求需要时间,所以document.write(result)代码>不是个好主意
其次,为XML的周围标记提供一个ID
可能更容易,这样您就不必执行getElementsByClassName
操作并在结果数组中查找第一个结果
最后,我不确定您是否正在处理XML,以便它显示在您的网页中,但是如果您需要做任何事情,我已经在代码注释中指出了一个好的地方