> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 구문 분석 및 XML 문서 읽기 예제 code_javascript 기술

JavaScript 구문 분석 및 XML 문서 읽기 예제 code_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:50:24
원래의
1111명이 탐색했습니다.

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 파일


코드 복사
백엔드 홈페이지
테스트 페이지

>
백엔드 홈페이지< ; /MenuItem>
테스트 페이지




디스플레이가 거꾸로 되어 있어서 TABLE을 사용하지 않아서 변수를 설정한 후 디스플레이해보겠습니다


다음은 또 다른 예입니다.

XML 파일에서 데이터를 읽기 위해 JavaScript 클래스를 작성했습니다. 구현 코드는 다음과 같습니다.



복사 코드

코드는 다음과 같습니다.

<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&gt ;") ; <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


테스트 프로그램을 실행하면 구문 분석 결과가 다음과 같이 출력됩니다.



코드 복사
코드는 다음과 같습니다. 첫 번째 레코드 정보: id = 22240319830000.
name = Shirdrn.
age = 26.
성별 = 남성 .
이메일 = shirdrn@hotmail.com.
전화번호 = 13843140000.
두 번째 기록 정보:
ID = 22040319860001.
이름 =
나이 = 23.
성별 = 여성
이메일 = linda@hotmail.com
phone = 13843140002.


XML 파일을 구문 분석할 때 주로 IE를 지원하는지 확인하세요. 및 Mozillia 브라우저에서는 구문 분석이 불가능할 수 있습니다.
기타 안내사항은 프로그램 내 댓글을 참고해주세요.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿