گروه مقاله : طراحی سایت
تاريخ انتشار : 1396/06/27 - 12:26
كد :7857

تبدیل متن به XML

در این مقاله یک رشته متنی را به XML تبدیل می کنیم.

آموزش تبدیل متن به XML

تمام مرورگرهای معروف دارای XML parser برای بکارگیری XML میباشند.

 XML Parser:

XML DOM (Document Object Model) متد های لازم برای تعریف و ویرایش XML را ایجاد می کند.

هرچند که قبل از اینکه سند XML بتواند در دسترس باشد باید در یک شیئ XML DOM بارگذاری شود.

تمام مرورگرهای معروف میتوانند برای تبدیل متن به XML DOM از XML parser استفاده کنند.

تبدیل یک رشته متنی

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

  <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 در خط زیر تعریف میشود:

parser = new DOMParser();

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

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

 

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

نسخه های قدیمی تر اینترنت اکسپلورر یعنی نسخه های 5-6-7-8  از شیئ DOMParser پشتیبانی نمی کنند.

 

برای برطرف کردن این مشکل از ActiveXObject استفاده می کنیم:

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 Object دارای XML Parser است.
  • صفت responseText پاسخ را بصورت متن باز می گرداند.
  • صفت responseXML بصورت شیئ XML DOM بازگردانده میشود.

 

 اگر میخواهید که از فایل دریافتی در شیئ XML DOM استفاده کنید. میتوانید از responseXML استفاده کنید.

مثال

در خواست فایل cd_catalog.xml و استفاده از پاسخ در یک شیئ XML DOM :

xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;

مشاهده نتیجه

 

براي بهره مندي از مشاوره تخصصي در زمینه طراحی سایت در کرج با شرکت سارگون تماس بگيريد

نظرات كاربران :