2011-11-10 1 views
2

여기서, <detail> 요소를 반복하고 싶습니다. 코드에 <detail> 태그 이름을 지정할 수는 있지만 자식 태그 이름은 사용할 수 없습니다. 나는 그 요소들과 그 값들의 태그 이름을 알고 싶다.태그 이름을 지정하지 않고 XML로 자식 노드 이름과 그 값을 읽을 수있는 방법은 무엇입니까?

어떻게 반복 할 수 있습니까?

<?xml version="1.0" encoding="utf-8" ?> 
<body> 
    <detail> 
    <FirstName>t1 </FirstName> 
    <LastName>t2</LastName> 
    <Company>t3</Company> 
    <Country>t4</Country> 
    <Proviance>MP</Proviance> 
    <city>indore</city> 
    </detail> 

    <detail> 
    <FirstName>t5 </FirstName> 
    <LastName>t6</LastName> 
    <Company>t7</Company> 
    <Country>t8</Country> 
    <Proviance>t9</Proviance> 
    </detail> 

    <detail> 
    <FirstName>t10 </FirstName> 
    <LastName>t11</LastName> 
    <Company>t12</Company> 
    <Country>t13</Country> 
    <Proviance>t14</Proviance> 
    </detail> 

</body> 

답변

8

어떨까요.

var details = xml.getElementsByTagName("detail"); 
    for (var i = 0; i < details.length; i++) { 
     if (details[i].childNodes) { 
     for (var j = 0; j < details[i].childNodes.length; j++) { 
      var detail = details[i].childNodes[j]; 
      if (detail.nodeType === 1) 
       alert("details node " + (i + 1) + ": " + detail.nodeName + "=" + detail.firstChild.nodeValue); 
     } 
    } 

}

+2

+1 명확 && 간단합니다. 좋은 팁! –

+0

xmlhttp.getElementsByTagName는 함수가 아닙니다 - 예에서 – NoviceToDotNet

+0

XML은 DOM 개체가 아닌 XMLHTTP 개체, 그래서 그것의'xmlhttp.responseXML' –

1

Here은 JavaScript로 XML을 구문 분석하는 자습서입니다. 어쩌면 도움이 될지도 모른다.

힌트 : 페이지에 자바 스크립트 XML을 읽는

1

또 다른 좋은 article에 태그 이름을 검색합니다.

이 자습서는 IE 지원 스크립트만을 다루고 있으며, 약간의 정보는 다른 브라우저와 호환되도록 도움을 줄 수 있습니다.

Google에서이 텍스트를 검색 할 수 있습니다. "Firefox 파서의 XML 파서"는 예제 코드로 더 많은 결과를 제공합니다.

관련 문제