Javascript 显示XML文件中的数据
我正在尝试使用JavaScript显示XML文件中的数据。我的数据没有显示在网页上,我不知道为什么 如有任何帮助/建议,将不胜感激。我的代码显示在下面 注意-我没有XML方面的经验,所以请注意,我对它是完全陌生的Javascript 显示XML文件中的数据,javascript,html,xml,Javascript,Html,Xml,我正在尝试使用JavaScript显示XML文件中的数据。我的数据没有显示在网页上,我不知道为什么 如有任何帮助/建议,将不胜感激。我的代码显示在下面 注意-我没有XML方面的经验,所以请注意,我对它是完全陌生的 <script> var xmlData; function loadXml () { var filename = "CDLibrary.xml"; var XMLhttp = new XMLHttpRequest();
<script>
var xmlData;
function loadXml () {
var filename = "CDLibrary.xml";
var XMLhttp = new XMLHttpRequest();
XMLhttp.open("GET", filename, true);
var ok = true;
try {
XMLhttp.send();
}
catch(err) {
ok = false;
alert ("Database not found");
}
if (ok) {
xmlData = XMLhttp.responseXML;
displayXml(xmlData);
}
}
function displayXml () {
var CdElements;
var CdTitle;
var count;
CdElements = xmlData.getElementsByTagName("CD");
for (count = 0; count < CdElements.length; count=count+1) {
CdTitle = CdElements[count].getElementsByTagName("title");
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + CdTitle[0].childNodes[0].nodeValue + "</br>";
}
}
</script>
</head>
<body>
<div>
<p id="output">
</p>
<p id="buttons">
<input type="button" id="btnDisplay" value="Display CDs" onclick="loadXml();">
</div>
</body>
var-xmlData;
函数loadXml(){
var filename=“CDLibrary.xml”;
var XMLhttp=new XMLHttpRequest();
open(“GET”,文件名,true);
var-ok=true;
试一试{
XMLhttp.send();
}
捕捉(错误){
ok=假;
警报(“未找到数据库”);
}
如果(确定){
xmlData=XMLhttp.responseXML;
显示xml(xmlData);
}
}
函数displayXml(){
风险价值要素;
var-CdTitle;
var计数;
CdElements=xmlData.getElementsByTagName(“CD”);
对于(计数=0;计数”;
}
}
导入XML数据
var-xmlData;
函数loadXml(){
var filename=“CDLibary.xml”;
var XMLhttp=new XMLHttpRequest();
open(“GET”,文件名,true);
var-ok=true;
试一试{
XMLhttp.send();
}
捕捉(错误){
ok=假;
警报(“未找到数据库”);
}
如果(确定){
xmlData=XMLhttp.responseXML;
显示xml(xmlData);
}
}
函数displayXml(xmlDataBase){
风险价值要素;
var-CdTitle;
var计数;
CdElements=xmlDataBase.getElementsByTagName(“CD”);
对于(计数=0;计数”;
}
}
导入XML数据
var-xmlData;
函数loadXml(){
var filename=“CDLibary.xml”;
var XMLhttp=new XMLHttpRequest();
open(“GET”,文件名,true);
var-ok=true;
试一试{
XMLhttp.send();
}
捕捉(错误){
ok=假;
警报(“未找到数据库”);
}
如果(确定){
xmlData=XMLhttp.responseXML;
显示xml(xmlData);
}
}
函数displayXml(xmlDataBase){
风险价值要素;
var-CdTitle;
var计数;
CdElements=xmlDataBase.getElementsByTagName(“CD”);
对于(计数=0;计数”;
}
}
您没有使用var xmlData,而是使用var xmlDataBase。将代码替换为:
CdElements = xmlData.getElementsByTagName("CD");
由于您使用的是全局var xmlData,它在displayXml函数中可用,在这种情况下,如果您使用函数displayXml(),就不需要函数displayXml(xmlDataBase),这就足够了。您使用的不是var xmlData,而是var xmlDataBase。将代码替换为:
CdElements = xmlData.getElementsByTagName("CD");
由于您使用的是全局var xmlData,它在displayXml函数中可用,在这种情况下,如果您使用函数displayXml(),就不需要函数displayXml(xmlDataBase),这就足够了。使用w3schools链接并更改一些信息和目录,我让它工作起来了。我遵循的模板中一定有错误,谢谢大家的时间和努力
<html>
<style>
table,th,td {
border : 1px solid black;
border-collapse: collapse;
}
th,td {
padding: 5px;
}
</style>
<body>
<button type="button" onclick="loadDoc()">Get my CD collection</button>
<br><br>
<table id="demo"></table>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "CDLibrary.xml", true);
xhttp.send();
}
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<tr><th>Artist</th><th>Title</th></tr>";
var x = xmlDoc.getElementsByTagName("CD");
for (i = 0; i <x.length; i++) {
table += "<tr><td>" +
x[i].getElementsByTagName("performer")[0].childNodes[0].nodeValue +
"</td><td>" +
x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue +
"</td></tr>";
}
document.getElementById("demo").innerHTML = table;
}
</script>
</body>
</html>
表,th,td{
边框:1px纯黑;
边界塌陷:塌陷;
}
th,td{
填充物:5px;
}
获取我的CD收藏
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
我的职能(本);
}
};
open(“GET”,“CDLibrary.xml”,true);
xhttp.send();
}
函数myFunction(xml){
var i;
var xmlDoc=xml.responseXML;
var table=“ArtistTitle”;
var x=xmlDoc.getElementsByTagName(“CD”);
对于(i=0;i使用w3schools链接并更改某些信息和目录,我使其正常工作。我所遵循的模板中一定有错误,谢谢大家的时间和努力
<html>
<style>
table,th,td {
border : 1px solid black;
border-collapse: collapse;
}
th,td {
padding: 5px;
}
</style>
<body>
<button type="button" onclick="loadDoc()">Get my CD collection</button>
<br><br>
<table id="demo"></table>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "CDLibrary.xml", true);
xhttp.send();
}
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<tr><th>Artist</th><th>Title</th></tr>";
var x = xmlDoc.getElementsByTagName("CD");
for (i = 0; i <x.length; i++) {
table += "<tr><td>" +
x[i].getElementsByTagName("performer")[0].childNodes[0].nodeValue +
"</td><td>" +
x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue +
"</td></tr>";
}
document.getElementById("demo").innerHTML = table;
}
</script>
</body>
</html>
表,th,td{
边框:1px纯黑;
边界塌陷:塌陷;
}
th,td{
填充物:5px;
}
获取我的CD收藏
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
我的职能(本);
}
};
open(“GET”,“CDLibrary.xml”,true);
xhttp.send();
}
函数myFunction(xml){
var i;
var xmlDoc=xml.responseXML;
var table=“ArtistTitle”;
var x=xmlDoc.getElementsByTagName(“CD”);
对于(i=0;我尝试使用这个,但是