XML ファイルから別のタグ内のサブタグの数を取得し、JavaScript を使用してその要素を表示する方法: これは私の XML ファイルです:
<?xml version="1.0" encoding="utf-8"?>
<pdfDetails>
<Menu menuTitle="AllTools">
<pdf>
<title>Integrated Architecture</title>
<description>details</description>
<fileName>tools_selection_wizard.pdf</fileName>
<imageName>icon_Image.png</imageName>
</pdf>
<pdf>
<title>Integrated Architecture Builder</title>
<description>details</description>
<fileName>integrated_architecture_builder.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
<pdf>
<title>ProposalWorks</title>
<description>details</description>
<fileName>proposal_works.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
<pdf>
<title>Cross</title>
<description>details</description>
<fileName>works.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
<pdf>
<title>Integrated Architecture Videos</title>
<description>details</description>
<fileName>integrated_architecture_videos.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
</Menu>
<Menu menuTitle="Discover">
<pdf>
<title>Integrated</title>
<description>details</description>
<fileName>integrated_architecture.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
<pdf>
<title>Integrated Architecture Videos</title>
<description>details</description>
<fileName>integrated_architecture_videos.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
<pdf>
<title>Podcasts</title>
<description>details</description>
<fileName>pod_casts.pdf</fileName>
<imageName>pdf_icon_Image.png</imageName>
</pdf>
</Menu>
</pdfDetails>
最初の Menu タグの pdf タグは 5 で、2 番目のタグは 3 です。カウントを取得してそこに要素をテーブル ビュー形式で表示する方法。これは私が今までやってきたことですが、データを取得していません
<script type="text/javascript">
function parseXML(){
xmlDoc=loadXMLDoc("Details.xml");
mnu=xmlDoc.getElementsByTagName("Menu");
var mnucount=mnu.length
pdf=xmlDoc.getElementsByTagName("pdf");
var pdfcount=pdf.length
if(mnucount>=1){
alert(mnucount);
for(i=0;i<mnucount;i++){
//xmlDoc.getElementsByTagName("title")[j].childNodes[0];
'<br>'
if(pdfcount>=1){
alert(pdfcount);
var str = '<table border="1">';
str+='<tr><td>title</td><td>description</td><td>fileName</td><td>imageName</td></tr>';
for(j=0;j<pdfcount;j++){
p=xmlDoc.getElementsByTagName("title")[j].childNodes[0];
txttitle=p.nodeValue;
q=xmlDoc.getElementsByTagName("description")[j].childNodes[0];
txtdescription=q.nodeValue;
r=xmlDoc.getElementsByTagName("fileName")[j].childNodes[0];
txtfileName=r.nodeValue;
s=xmlDoc.getElementsByTagName("imageName")[j].childNodes[0];
txtimageName=s.nodeValue;
str=str+'<tr><td>'+txttitle+'</td><td>'+txtdescription+'</td><td>'+txtfileName+'</td><td>'+txtimageName+'</td></tr>';
}
str+='</table>';
document.getElementById('data').innerHTML = str;
}
}
}
}
function loadXMLDoc(dname){
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // Internet Explorer
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
これは何も取得していません。