021-28423015

تجزیه کننده xml

تمام مرورگر های اصلی یک تجزیه کننده xml داخلی دارند تا بتوانند به xml دسترسی داشته باشند و با آن تعامل برقرار کنند.

تجزیه کننده xml

DOM یا همان Document Object Model ،  ویژگی ها و روش های دسترسی و ویرایش XML را تعریف می کند.
با این حال، قبل از دسترسی به یک سند XML، باید آن را به یک شیء XML DOM بارگیری کند.
تمام مرورگرهای مدرن دارای تجزیه کننده داخلی  XML هستند که می توانند متن را به یک شی XML DOM تبدیل کنند.


تجزیه یک رشته از متن

این مثال یک رشته متن را به یک شیء XML DOM تجزیه می کند و با استفاده ازجاوا اسکریپت اطلاعات را از آن استخراج می کند:

تجزیه کننده xml
<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html> 
مشاهده مثال

 

تشریح مثال

ابتدا یک رشته متن تعریف می شود :

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";


یک تجزیه کننده XML DOM ایجاد می شود :

parser = new DOMParser();

 

تجزیه کننده یک شی XML DOM جدید با استفاده از رشته متن ایجاد می کند:

xmlDoc = parser.parseFromString(text,"text/xml");

 

نسخه های قدیمی اینترنت اکسپلورر

نسخه های قدیمی اینترنت اکسپلورر (IE5، IE6، IE7، IE8) از شی DOMParser پشتیبانی نمی کنند.
برای مدیریت نسخه های قدیمی اینترنت اکسپلورر، بررسی کنید که آیا مرورگر از شی DOMParser پشتیبانی می کند یا اینکه ActiveXObject  را ایجاد کنید:

نسخه قدیمی IE در xml
if (window.DOMParser) {
  // code for modern browsers
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(text,"text/xml");
} else {
  // code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(text);
}  
مشاهده مثال

شی XMLHttpRequest


شی XMLHttpRequest  یک تجزیه کننده xml داخلی دارد.
 ویژگی  responseText پاسخ را به عنوان یک رشته باز می گرداند.
ویژگی  responseXML پاسخ را به عنوان یک شی XML DOM باز می گرداند.
اگر می خواهید از این پاسخ به عنوان یک شی XML DOM استفاده کنید، می توانید از ویژگی responseXML استفاده کنید.

شی XMLHttpRequest
xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
    txt += x[i].childNodes[0].nodeValue + "
"; } document.getElementById("demo").innerHTML = txt;
مشاهده مثال


نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط