lion 2 ارسال شده در تیر 19، 1393 گزارش اشتراک گذاری ارسال شده در تیر 19، 1393 مفهوم و نحوه کار با 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 ; لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
پست های پیشنهاد شده