ورود

View Full Version : مشکل با خواندن فایل AdoQuery.loadFromFile(XML.XML)



FirstLine
دوشنبه 20 اسفند 1386, 13:26 عصر
با سلام
جستجو کردم اما به نتیجه ای نرسیدم که این مشکل را حل کند و در چندین پست هم عنوان شده بود و هر کاری کردم نشد و پیغام خطای زیر را میدهد.
یک سری اطلاعات بصورت فایل XML داریم. (web.config و website.map)
1- چجوری میتونم اطلاعات این فایل را خوانده و در یک گرید نمایش دهم؟
2- چجوری میتونم رکوردی اضافه ویرایش و حذف کنم؟
البته این کار ها رو ترجیحا نیاز دارم که بصورت AdoQuery.loadFromFile(XML.XML) بخونم.
3- اگه با AdoQuery بخوام کار کنم باید اونو به یک کانکشن وصل کنم؟ یا نیازی نیست؟
لطفا یه مثال یا نمونه لطف کنید.
پیغام ضمیمه را در هنگام اجرای دستور زیر میده:



<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="index.aspx?id=main" title=" Heidarnia.com " description="">
<siteMapNode url="index.aspx?id=acry" title=" A cry " description="" />
<siteMapNode url="index.aspx?id=thewounds" title=" The wounds " description="" />
<siteMapNode url="index.aspx?id=yeshua" title=" Yeshua " description="" />
</siteMapNode>
</siteMap>


با تشکر

vcldeveloper
دوشنبه 20 اسفند 1386, 15:07 عصر
AdoQuery.LoadFromFile برای لود کردن هر فایل XML ایی نیست! بلکه فقط فایلهایی که با فرمت خاص ADO ذخیره شده باشند رو لود میکنه.
برای کار شما بهتر هست که از ابزار XML Mapper دلفی استفاده کنید. این ابزار یک فایل XML میگیره و از روی آن یک فایل Transformation میسازه که از طریق آن می تونید با استفاده از XMLTransformationProvider و یک ClientDataSet با فایل XML مربوطه رفتاری مثل یک جدول بانک اطلاعاتی داشته باشید.
کامپوننت هایی که ذکر کردم در تب Data Source موجود هستند. اون ابزار هم در منوی Tools موجود هست.

FirstLine
دوشنبه 20 اسفند 1386, 16:23 عصر
با سلام
با تشکر از لطف و راهنمایی شما استاد عزیز.
یه مورد اینکه برای اینکه من بتونم هر دفعه با یک فایل XML کار کنم باید از XML Mapper برای تغییر و تعریف ساختار XML استفاده کنم؟
با کد نویسی نمیشه همه این کارها رو انجام داد؟ چون من ساختار فایلهای XML رو نمیدونم چجوری هست و ممکنه کاربر XML های متفاوتی رو از بزنامه های مختلف بدست آورده باشه.
آیا کامپوننتی وجود دارد که به فایل XML کانکت بشه و من بتونم AdoQuery را به اون وصل کنم و با اون جستجو ، حذف ، اضافه و ویرایش کنم؟ لطفا اگه هست اسم و...
با تشکر

vcldeveloper
دوشنبه 20 اسفند 1386, 17:54 عصر
یه مورد اینکه برای اینکه من بتونم هر دفعه با یک فایل XML کار کنم باید از XML Mapper برای تغییر و تعریف ساختار XML استفاده کنم؟
با کد نویسی نمیشه همه این کارها رو انجام داد؟ چون من ساختار فایلهای XML رو نمیدونم چجوری هست و ممکنه کاربر XML های متفاوتی رو از بزنامه های مختلف بدست آورده باشه.
در هر حال باید مشخص بشه که داده XML شما به چه شکلی باید تبدیل به جدول بشه، نمیشه که همینطوری هر فایل XML ایی بدید و انتظار داشته باشید خودش براتون جدول بسازه، باید حداقل ساختار فایل XML (محتوی لازم نیست) مشخص باشه.
اگر لازم هست که خودتون فایل Transformation راربصورت RunTime تولید کنید، باید ساختار فایل Transformation تولید شده با XML Mapper را مطالعه کنید (خودش یک فایل XML هست) و با توجه به آن خودتون یک پرونده XML جدید به عنوان Transformation ایجاد کنید. این پرونده نحوه تبدیل فایل XML منبع به Data Packet و بالعکس رو مشخص میکنه.
XMLTransformProvider1.TransformRead.Transformation Document یک رابط DOM در اختیارتون میزاره که بوسیله اون می تونید پرونده Transformation را بصورت Online تولید کنید.