JavaScript 구문 분석 및 XML 파일 읽기에는 주로 XML 파일 로드 및 구문 분석이 포함되며, 그런 다음 구문 분석된 XML 파일의 내용을 테스트하고 인쇄할 수 있습니다.
온라인 데모: http://demo.jb51.net/js/2012/readxml/
참고: 테스트할 때는 웹사이트, iis 또는 apache에서 테스트해야 합니다. 주의하세요. 로컬이 아닌 테스트 실행
index.htm
코드 복사를 더블클릭하세요. 코드는 다음과 같습니다.
스크립트 홈 ">
function show( )
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft .XMLHTTP");
}
if(xmlhttp!=null)
{
xmlhttp.open("GET","jb51.xml",false );
xmlhttp.send( null);
var responsexml=xmlhttp.responseXML; var menus=responsexml.getElementsByTagName("Menus")[0]; 🎜>for(var i=0; i
{
var menu=menus.childNodes[i];
html=html "" getAttribute("name") "< /h1>
"
html=html "" menu.childNodes[0].getAttribute("name") "
< ;br>";
for (var j=0;j{
var mi=menu.childNodes[0].childNodes[j ];
var url=mi .getAttribute("url");
var txt=mi.childNodes[0].nodeValue;
html=html "
";
}
}
document.getElementById("tb").innerHTML=html;
}
else
{
alert("어떤 브라우저를 사용하시나요? ");
}
}
xml 파일
코드 복사
코드는 다음과 같습니다.
<메뉴> <메뉴 id="0" name="홈">
복사 코드
코드는 다음과 같습니다.
<script> <br>/**<br>* @author Shirdrn <br>*/ <br>function XMLDoc(){}; // XMLDoc 클래스 정의 <br>XMLDoc.prototype.xmlFile = "" / / xmlFile은 ".xml" 파일을 참조하는 XMLDoc의 멤버입니다. <br>XMLDoc.prototype.parseXMLDoc = function(){ // XML 파일 구문 분석을 위한 멤버 메서드 로드 <br>var docParser <br>if (window.ActiveXObject) { // IE 브라우저는 <br>docParser = new ActiveXObject("Microsoft.XMLDOM") <br>docParser.async = "false" <br>docParser.load(this.xmlFile); 🎜> return docParser; <br>} <br>else if(window.DOMParser) { // Mozillia 브라우저는 <br>docParser = new DOMParser() <br>return docParser.parseFromString(this.xmlFile,"text/xml)을 지원합니다. " ); <br>} <br>else { // IE, Mozillia 브라우저가 아니면 파싱할 수 없으며 false를 반환합니다. <br>return false; <br>} <br>} <br>XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 읽은 XML 파일의 내용 정보를 출력합니다. <br>var xmlDoc = this. parseXMLDoc(); // 구문 분석된 XML 파일을 로드하기 위해 멤버 메소드 parseXMLDoc()를 호출합니다. <br>var users = xmlDoc.getElementsByTagName(readTagName) // 지정된 태그 이름을 가진 데이터 배열을 가져옵니다. <br>for( var i=0 ; i<users.length i>document.write("<b>번째" (i 1) "기록 정보: </B><BR> ;") ; <BR>for(var j=0 ; j<readTagCnt ; j ) { <BR>var tagname = users[i].childNodes[j].tagName; <BR>var textvalue = users[i]. childNodes[j ].text; <BR>document.write(tagname " = " textvalue ".<BR>") <br>} <br>} <br>} <br><br>var xmlDoc = new XMLDoc() ; // XMLDoc IDE 객체 인스턴스 생성 <br>xmlDoc.xmlFile = "user.xml"; // 객체 인스턴스의 멤버 변수 데이터 설정 <br>xmlDoc.print("user",6 ); // 인쇄 출력 <br></script>
그 중 테스트에 사용한 XML 파일 user.xml의 내용은 다음과 같습니다.
-
-
22240319830000
Shirdrn
<성별> ;남성
shirdrn@hotmail.com
13843140000
< ;/user>
-
22040319860001
>여성
linda@hotmail.com
13843140002
테스트 프로그램을 실행하면 구문 분석 결과가 다음과 같이 출력됩니다.
코드 복사
name = Shirdrn.
age = 26.
성별 = 남성 .
이메일 = shirdrn@hotmail.com.
전화번호 = 13843140000.
두 번째 기록 정보:
ID = 22040319860001.
이름 =
나이 = 23.
성별 = 여성
이메일 = linda@hotmail.com
phone = 13843140002.
XML 파일을 구문 분석할 때 주로 IE를 지원하는지 확인하세요. 및 Mozillia 브라우저에서는 구문 분석이 불가능할 수 있습니다.
기타 안내사항은 프로그램 내 댓글을 참고해주세요.