PDA

نسخه کامل مشاهده نسخه کامل : نمایش محتویات یک فایل XML در لیست ویو



adrenalin
19-12-2009, 14:45
سلام به همه دوستان
من یه فایل xm دارم که اون رو در یک فضایی آپلود کردم به صورت لینک مستقیم
حالا می خوام از یه برنامه تحت ویندوز محتویات این فایل رو در یک لیست ویو نشون بدم
ار کمکم کنید ممنون میشم
فقط دوستان linq نباشه

_H2_
20-12-2009, 01:48
سلام
مشکل خاصی وجود ندارد.
شما میتوانید با کمک System.Net.WebClient فایل را به صورت String و یا با System.Net.[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] به صورت Stream دانلود کنید.
(طبیعتاً در این مرحله میتوانید فایل را در یک TextBox چند خطی نمایش دهید.)

سپس ...

میتوانید با کمک کلاسهای System.Xml.Serialization.XmlSerializer یا System.Data.DataSet یا System.Xml.XmlTextReader فایل XML را خوانده و در قالب مشخص بارگذاری یا نمایش دهید.

اگر XML شما فرمت مناسبی برای کار با دو کلاس اول داشته باشد، کارتان خیلی ساده تر خواهد شد.

اگر نمونه ای از XML تان را اینجا قرار دهید، شاید بتوان کمک دقیقتری کرد.

adrenalin
20-12-2009, 10:07
ممنون از لطفتون
این نمونه همون فایل xml هست توصیف یه فاکتور فروش هست . می خوام دوباره این فاکتور رو تو سیستم خودم باز سازی کنم البته فقط Product ها رو می خوام تو لیست ویو نشون بدم بقیه داده ها رو توی لیبل نمایش می دم


<?xml version="1.0" encoding="utf-8"?>
<SalesFactor>
<Title>فاکتور فروش</Title>
<Shop>
<Name>انتشارات پارس</Name>
<Address>تهران - میدان امام خمینی - خیابان گلستان - پلاک 101</Address>
<Tel>6425963</Tel>
</Shop>
<Buyer>
<Name>علی محمدی</Name>
<Tel>09119891850</Tel>
</Buyer>
<Factor>
<ID>4232111</ID>
<Date>1385/3/30</Date>
</Factor>
<Product>
<BookID>1001</BookID>
<Name>مهندسی نرم افزار</Name>
<UnityPrice>35000</UnityPrice>
<QTY>2</QTY>
<Price>70000</Price>
</Product>
<Product>
<BookID>1002</BookID>
<Name>ساختمان داده ها</Name>
<UnityPrice>40000</UnityPrice>
<QTY>3</QTY>
<Price>120000</Price>
</Product>
<Product>
<BookID>1003</BookID>
<Name>برنامه نویسی شی گرا</Name>
<UnityPrice>30000</UnityPrice>
<QTY>1</QTY>
<Price>3000</Price>
</Product>
<Total>220000</Total>
</SalesFactor>

_H2_
21-12-2009, 01:10
سلام
پیشنهاد میکنم به جای ListView از کنترلر DataGridView استفاده کنیدف کارتان را خیلی راحت میکند.
میتوانید عناوین فارسی هم بگذارید و رنگ و فونت تک تک ستون ها را اصلاح کنید.
مثلاً برای انکه شبیه نمایش لیستی ListView شود، میتوانید خواص زیر را در DataGridView اصلاح کنید:
AllowUserToAddRows = False
AllowUserToDeleteRows = False
ReadOnly = True
SelectionMode = FullRowSelect
و...
از نظر ظاهر خواص تنظیمی زیادی دارد که با سلیقه تان جورش کنید.
مزیتش پشتیبانی خیلی خوب و کامل از Binding است که کدنویسی را به چند تک خط کاهش میدهد.
(البته ListView هم محاسن و قابلیت های خاص و منحصر بفرد خودش را دارد ولی بحرحال کنترلر DataGridView برا کار با دیتابیسها طراحی شده است و این کارها در تخصص این کنترلر است)

در کل همین چند خط کد برای دانلود نمایش لیست محصولات XML فوق کافی است.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

(خصیصه AutoGenerateColumns فقط ستون ها را خودکار تولید میکند که خودتان میتوانید دستی هر ستون را مجزا با عنوان و استایل دلخواه هم تعریف کنید..)

ولی در کل XML مثل این شاید بهتر باشد و پیشنهاد میکنم در صورت امکان حداقل این تغییر کوچک را XML هایتان اعمال کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید.