آموزش XML   >   XML و جاوا اسکریپت   >   مفهوم و نحوه کار با XML DOM

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

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

مثال عملی :

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

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

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> Developer1 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>

Developer1 Internal Note

To:
From:
Message:

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

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

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


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :