رفتن به مطلب

مفهوم و نحوه کار با xml dom


lion

پست های پیشنهاد شده

مفهوم و نحوه کار با XML DOM :

 

مدل XML DOM ، یک روش استاندارد برای دسترسی به اجزای یک فایل XML و خواندن یا تغییر آنها را معرفی می کند .

مدل XML DOM ، فایل XML را همانند یک درخت از بالا به پایین می بیند . در این مدل اجزای مادر parent مثل شاخه های درخت بوده و فرزندان آن برگ های درخت محسوب می شوند .

تمامی اجزای درونی فایل XML از طریق مدل XML DOM ، قایل دسترسی خواهد بود . محتویات آنها ( متن و خواص ) را می توانید خوانده ، تغییر داده و یا حتی پاک نمایید . حتی امکان ساخت اجزای جدید نیز وجود دارد .

هر المنت ، محتویات و خواص آن به عنوان یک گره یا node در صفحه شناخته شده و قابل دسترسی است .

در مثال عملی زیر ، نحوه خواندن یک فایل XML و دسترسی به محتویات آن را نمایش داده ایم :

 

مثال عملی :

 

مثال : در این مثال ، محتویات یک فایل XML به نام note.xml را خوانده و اجزای درونی آن را در یک شی به نام xmlDoc ریخته ایم . سپس به وسیله متد ( ) getElementsByTagName ، اجزای درونی آن را با یک تگ <div> ترکیب کرده و در خروجی نمایش داده ایم . کد را مرور نمایید .

راهنمایی : در پایان مثال نحوه استفاده از متد ( ) getElementsByTagName را آموزش داده ایم .

 

محتویات فایل note.xml :

 

 

<?xml version="1.0" encoding="utf-8" ?>  <note>    <to>  Hamed </to>    <from>Ali</from>    <heading>Reminder</heading>    <body>Don't forget me this weekend!</body>  </note>

 

 

کد و خروجی مثال :

 

 

<html>   <body>       <h1> 20Script Internal Note</h1>       <div>           <b>To:</b> <span id="to"></span><br />           <b>From:</b> <span id="from"></span><br />           <b>Message:</b> <span id="message"></span>       </div>      <script>           if (window.XMLHttpRequest)                 {                    xmlhttp = new XMLHttpRequest();        //  ساخت یک شی جدید ایجکس برای ارتباط با سرور                 }           xmlhttp.open("GET", "note.xml", false);         //   و خواندن آن XML باز کردن فایل           xmlhttp.send( );                                              //       ارسال اطلاعات به سرور           xmlDoc = xmlhttp.responseXML;                    //    xmlDoc  در شی XML تجزیه و ریختن محتویات فایل            document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;           document.getElementById("from").innerHTML = xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;           document.getElementById("message").innerHTML = xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;       </script>   </body></html>

 

خروجی:

 

20Script Internal NoteTo: Hamed From: Ali Message: Don't forget me this weekend!

 

 

نحوه کار با متد ( ) getElementsByTagName در XML DOM :

 

نکته : برای استخراج متن " Hamed " از المنت <to> ، ساختار دستوری آن به صورت زیر است :

دقت داشته باشید که اگر حتی هر عنصر XML مثل <to> حتی دارای یک فرزند هم باشد ، شما بایستی اندیس آرایه که در اینجا 0 است را تعیین نمایید . زیرا متد ( ) getElementsByTagName ، با آرایه ها کار می کند .

 

 

getElementsByTagName("to")[0].childNodes[0].nodeValue ;

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...