我知道这个话题很老。我正在学习并试图解析,但不知道如何在我的情况下这样做。你们能告诉我这样做的方法还是更好地帮助我一两个价值观?
<Metainformation>
<cash>ABC XYZ</cash>
<Doctor>Dr. Peter Smith</Doctor>
<DoctorID>12345678</DoctorID>
<Quartal>Q22004</Quartal>
<Checkdate>20040404123000</Checkdate>
</Metainformation>
<Patientlist>
<Normal_Patient>
<Unchanged count="123"/>
<New count="3"/>
<Closed count="2"/>
<InTest count="4"/>
</Normal_Patient>
<Special_Patient>
<Special_Quantity count="8" />
</Special_Patient>
<Notfound_Patient>
<ABC_available count="9" />
<DEF_available count="7" />
</Notfound_Patient>
<Total old="125" new="126"/>
</Patientlist>
我的桌子在这里: https://jsfiddle.net/n9ygoL52/
答案 0 :(得分:1)
好的,我们假设您在html存在的同一目录中有一个名为infos.xml的文件。
我将向您展示的这种模式需要为每个td设置ID。例如
<td>Cash</td>
<td id="cash"> </td>
<td>Doctor</td>
<td id="doctor"> </td>
<td>Quartal</td>
<td id="quartal"> </td>
我使用的javascript ...
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "infos.xml", true);
xhttp.send();
console.log(xhttp);
function myFunction(xml) {
var cash = xml.responseXML;
document.getElementById("cash").innerHTML =
cash.getElementsByTagName("cash")[0].childNodes[0].nodeValue;
var doctor = xml.responseXML;
document.getElementById("doctor").innerHTML =
doctor.getElementsByTagName("Doctor")[0].childNodes[0].nodeValue;
var quartal = xml.responseXML;
document.getElementById("quartal").innerHTML =
quartal.getElementsByTagName("Quartal")[0].childNodes[0].nodeValue;
}
以相同的方式添加所有td表。但是如果使用循环来分别迭代表和xml
,情况会好得多如果有帮助则投票
更新
用这种方式我算了......
var unchanged = xml.responseXML;
var attrone= unchanged.getElementsByTagName('Unchanged');
var c = 0;
for(var i in attrone){
if(c == attrone.length) break;
c++;
document.getElementById('unchanged').innerHTML=attrone[i].getAttribute('count');
}