PDA

View Full Version : سوال: نحوه کار با فایلهای xml



سیروس مقصودی
دوشنبه 05 بهمن 1394, 08:07 صبح
با سلام

چگونه میتوان محتویات فایلهای xml را در یک grid نشان داد . من جستجو کردم ولی چیز به درد بخوری پیدا نکردم

با تشکر ...

یوسف زالی
دوشنبه 05 بهمن 1394, 10:35 صبح
سلام.
XML رو ایمپورت می کنی داخل یک Client Data Set و بهش DataSource وصل می کنی و گرید رو به دیتاسورس. تمام.

سیروس مقصودی
دوشنبه 05 بهمن 1394, 14:09 عصر
با تشکر

عذر میخوام نحوه ایمپورت کردنش را نمیدانم

یوسف زالی
دوشنبه 05 بهمن 1394, 14:40 عصر
LoadFromFile کن

سیروس مقصودی
سه شنبه 06 بهمن 1394, 07:32 صبح
وقتی loadfromfile زا اجرا میکنم پیغام Mismatch In DataPacket ظاهر میشود . علت چیست ؟

hamid-nic
سه شنبه 06 بهمن 1394, 08:34 صبح
از این لینک (http://www.delphipages.com/forum/showthread.php?t=180949) کمک بگیر البته بغیر از روش آقای زالی میشه با XML Data Binding هم کار کرد

یوسف زالی
سه شنبه 06 بهمن 1394, 10:22 صبح
در منوی tools یک گزینه هست به نام XML Mapper با استفاده از اون می تونید XML خودتون رو به فرمتی که کلاینت دیتاست بفهمه دربیارید.

سیروس مقصودی
سه شنبه 06 بهمن 1394, 15:10 عصر
با تشکر از دوستان

من این عملیات را مجبورم از طریق کد نویسی انجام دهم و کاربر تنها کاری که میخواهد بکند این است مسیر فایل xml را به سیستم خواهد داد و برنامه شروع به خواندن فایل xml کرده و محتویات آن را دریک Grid نشان خواهد داد . من سوالی که دارم

1 - من چگونه xml mapper را به سیستم بشناسانم ؟
2 - از XML Data Binding چگونه استفاده کنم ؟

یوسف زالی
سه شنبه 06 بهمن 1394, 15:47 عصر
فرمت فایل دست خودتونه؟ اگر بله، می تونید به راحتی فرمتی که سیستم می فهمه بسازید، ساده هست. اگر از دیتاست اکسپورت می کنید خودش این کارو براتون می کنه، اگر فرمت دست شما نیست، و فایل ها ایکس ام ال های خارجی هستند، مجبورید که اون رو نود به نود بخونید، مثلا با کامپوننت XMLDocument از تب Internet، اگر مطمئنید که ساختار فایل دریافتی شما ثابته، مثلا درختی نیست، و همه نودها پدر هستند، به راحتی می تونید با خوندن به فرم رشته به محتویاتی که لازم دارید دست پیدا کنید.

برای کار با XML Data Binding :
دلفی رو باز کنید، از منوی فایل برید به new و other
اون آخرا یک گزینه داره به نام XML Data Binding اون رو بزنید تا ویزاردش برای شما باز بشه
فایل رو بهش بدید و تنظیمات مربوطه رو انجام بدید
دلفی یونیتی تولید می کنه که برای کار با فرمتی که شما دادید مناسبه
این یونیت رو ذخیره کنید و باهاش روی فایل های مشابه کار کنید.

سیروس مقصودی
سه شنبه 06 بهمن 1394, 16:27 عصر
با تشکر

فایل xml من ضمیمه هستش .توسط یک برنامه جداگانه این فایل ساخته میشه و برنامه من بایستی این فایل رو بخونه .هرکاری میکنم انجام نمیشه . من با دلفی 7 کار میکنم .

یوسف زالی
سه شنبه 06 بهمن 1394, 17:00 عصر
می تونید با خود XMLDocument کار کنید:



XMLDocument1.ChildNodes[0].ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[1].NodeValue

سیروس مقصودی
یک شنبه 18 بهمن 1394, 13:14 عصر
با تشکر از دوستان
خیلی سعی کردم نمیدونم xml من ایراد دارد یا من نمیتونم خواهشآ اگر برایتان امکان دارد میتونید یک نمونه مثال برایم یزنید . چون بدجوری گیر کرده ام کارفرما هم ازم سریع میخواد

با تشکر فراوان

یوسف زالی
دوشنبه 26 بهمن 1394, 04:49 صبح
قرار نشد پست بی محتوا بگذاریم.

مشکل شما رو بررسی کردم و دقیقا از روی فایل شما مثال زدم.
نمی دونم الان ایراد کارتون چیه؟

سیروس مقصودی
دوشنبه 26 بهمن 1394, 07:33 صبح
با تشکر
آقای زالی آیا برایتان امکان دارد آن تکه کدی که برای خواند فایل xml نوشتید اینجا بگذازید ؟

یوسف زالی
دوشنبه 26 بهمن 1394, 10:51 صبح
پست 11 رو ببینید.
دقیقا از روی نمونه شما اجرا شده

سیروس مقصودی
دوشنبه 26 بهمن 1394, 14:21 عصر
با تشکر

وقتی این دستور را اجرا میکنم پیغام زیر ظاهر میشود

Label1.Caption := XMLDocument1.ChildNodes[0].ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[1].NodeValue ;

Mask
دوشنبه 02 فروردین 1395, 10:48 صبح
امروز با فایلهای xml گار میکردم.
لینک زیر کارمو راه انداخت. گفتم شمام ببینیش
http://stackoverflow.com/questions/29615746/get-some-values-from-xml-document