PDA

View Full Version : انتقال xml به datagrid



gohari244
شنبه 08 دی 1397, 23:44 عصر
سلام خدمت تمامی اساتید و دوستان گرامی

لطفا کمک کنید اطلاعات فایل xml پیوست رو به datagrid و یا اکسس انتقال بدم
نمونه کدی پیدا کردم ولی فقط روی فایل xml خودش کار میکنه اونم پیوست میکنم
کمک کنید خیلی واجبه با تشکر

gohari244
سه شنبه 11 دی 1397, 23:59 عصر
تو رو خدا یکی کمک کنه

www.pc3enter.tk
چهارشنبه 12 دی 1397, 17:24 عصر
خب عزیزم اون فایل بالا xml درست هست
ولی چیزی که شما گذاشته اید شبیه xml هست در واقع یک جورایی میشه گفت شبیه json است.

تنها کاری که فقط از نظر (بنده) میتونم پیشنهاد کنم این هست که خودت بشینی بنویسی
نکته ای که هست برای این کار فایلت 79kb هست ولی اگر میخواهی توی textbox لود کنی 64kb بیشتر نمیتونی لود کنی.
که یا مجبوری یک جورایی فایلت را ۲ تا کنی یا از Reichtextbox استفاده کنی!

حالا نظرت چیه؟ تا ادامه بدیم؟

gohari244
جمعه 14 دی 1397, 11:42 صبح
ممنون دوست عزیز

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

اگر راه بهتری سراغ دارید که بتونم به صورت جدول داشته باشمش ممنون میشم راهنمایی کنید
با تشکر فراوان

www.pc3enter.tk
جمعه 14 دی 1397, 23:05 عصر
والا چی بگم، (من فعلا کامپیوتر ندارم و با گوشی دارم کمکت میکنم)
اول باید دیتا را بخونی و تفسیرش و بعد بیایی توی دیتا گرید یا هر چیزی دیگه ای بزاری.
ببین عزیزم این اطلاعات شما هست.

<Report_List AccCode="11005" SummaryProgressDeptor="129929836" SummaryProgressCreditor="10024546" SourceType="0" SourceEssence="0" OtherSourceType="0" CreditType="0" TransferalType="0" CreditInfo="2" RankNumber="0" CreditCode="0" ExpenseArticle="0" ExpenseDetailArticle="0" ConstructArticle="0" IncomeCode="0" IncomeSubject="0" Governmental="0" TaxSeason="0" DebentureSenderRank="0" DebentureReceiverRank="0" CostCenter="" AwardArticle="0" SecuritiesType="0" Year="0 " NomineeCode="0" Nominee="0" GuaranteeEssence="0" DemandStatus="0" TempPaymentType="0" LeakageSubject="0" AssuranceType="0" AssuranceSubject="0" CurrencyType="0" AccountNumber="IR810170000002171144915004" InsuranceType="0" DebitSubject="0" FixedAssetType="0" InventoryType="0" Quantity="0" DueDate="0" SecuritiesProperties="0" ContractProperties="0" InvestmentType="0" AnnualAdjustmentSubject="0" TransferalItems="0" /><Report_List AccCode="11005" SummaryProgressDeptor="0" SummaryProgressCreditor="119905290" SourceType="0" SourceEssence="0" OtherSourceType="0" CreditType="0" TransferalType="0" CreditInfo="2" RankNumber="0" CreditCode="0" ExpenseArticle="0" ExpenseDetailArticle="0" ConstructArticle="0" IncomeCode="0" IncomeSubject="0" Governmental="0" TaxSeason="0" DebentureSenderRank="0" DebentureReceiverRank="0" CostCenter="" AwardArticle="0" SecuritiesType="0" Year="0 " NomineeCode="0" Nominee="0" GuaranteeEssence="0" DemandStatus="0" TempPaymentType="0" LeakageSubject="0" AssuranceType="0" AssuranceSubject="0" CurrencyType="1" AccountNumber="IR810170000002171144915004" InsuranceType="0" DebitSubject="0" FixedAssetType="0" InventoryType="0" Quantity="0" DueDate="0" SecuritiesProperties="0" ContractProperties="0" InvestmentType="0" AnnualAdjustmentSubject="0" TransferalItems="0" />


حالا اگر توجه کنی توی هر ردیف مجزا که بخواهی پیدا کنی این نوشتار هست
<Report_List
یک دستور داریم به نام split که کار جدا سازی را به خوبی برات انجام میده
کدش هم

bbb=split(text1.text,"<")

با این کد میتونی متن را جدا کنی
و برای نمایشش هم فقط

Print bbb(1)

کافیه

ببین تست کن این روشو دوست داری؟

gohari244
شنبه 15 دی 1397, 23:36 عصر
والا دوست عزیز خیلی سخت بود اصلا متوجه نشدم اگر امکانش هست نمونه ای برام بزارید

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

www.pc3enter.tk
یک شنبه 16 دی 1397, 12:05 عصر
سخت بود؟؟؟؟؟ چی چیش سخت بود.؟

ببینن خیلی دلم میخواد کمکت کنم ولی تا۴ روز مسافرت هستم و دسترسی به کامپیوتر ندارم اون هم اینکه وی بی روش نصب شده باشه.

شما اول کل اون متن بالا ردیف اولی که گذاشتم را کپی کنید
و بعد داخل وی بی یک تکس باکس بذار و کل اون متنو توش پیست(paste) کن.

حالا بعدش یک دکمه بزار و کد منو

bbb=split(text1.text,"<")
Print bbb(0)
Print bbb(1)

توش کپی کن
و حالا برنامه اجرا کن.
میبینی که جداسازی کرده.
(انجام بده تا بعدش بهت بگم چه کار کنی)

gohari244
یک شنبه 16 دی 1397, 13:30 عصر
اره انجام شد حالا چکار کنم

www.pc3enter.tk
یک شنبه 16 دی 1397, 17:35 عصر
خب بعدش اگر ادامه بدیم ما بعدش باید بیاییم داخل هر ردیف را که در آوردیم گزینه های اونو باز هم جدا کنید.
که تعدادش حدود ۴۴ تا هست

که میتونی ادامه اون کد این را بنویسی
یعنی دوبار مثل بالا که report جدا کردی ، ستون ها را جدا کنی
فقط باید هوشمندی که خودت به خرج بدی این هست که به دنبال تقسیم بندی مشترک بگردی
که میشه به فاصله/اسپس/Space که استفاده شده ازش بهره ببری.
به این شکل

Radif=split(bbb(1)," ")
For a=0 to 44
Print radif(a)
'یا
Print radif(a);
Next a

یا اگر نخواستی چاپ کنی میتونی به لیست باکس هم اضافه کنی
که به جای پرینت
List1.additem Radif(a)
بزن نتیجه را بگو

gohari244
یک شنبه 16 دی 1397, 23:39 عصر
این انجام شد یکی از مشکلاتش اینه که تو بعضی از موارد داخل اون مقدارشون فاصله هست اونا رو هم در نظر میگیره
یکی هم اینه که میخوام یک جوری باشه مثلا اگر مقدارش از 44 کمتر یا بیشتر بود اونا رو هم حساب کنه
در ضمن تکست باکس هم جا نشد گذاشتمش تو ریچ تکست

www.pc3enter.tk
سه شنبه 18 دی 1397, 00:45 صبح
1. جای گذاری ۱ یک اسپیس به جای ۲ اسپیس

ZZ=replace(text1.text, " ", " ")

۲. نمی‌دونم یادم نیست درست ولی ببین کار میده یا نه
۲ تا دستور مجزا هست که میاد بیشتر و کمترین می‌تونه حساب کنه ، حالا اگر املأ اَش را درست نوشته باشم
یکیش ، Ubound (http://www.chennaiiq.com/developers/reference/visual_basic/functions/ubound.asp) و یکی، Lbound (http://www.chennaiiq.com/developers/reference/visual_basic/functions/ubound.asp)
حالا مثل متغیر بالا که Radif تعریف کردیم. به این شکل اعلام می‌کنه

For a=1 to Ubound(Radif)
Print Radif(a)
Next a

۳. توی جواب سوال دوم که قبلاً بهت گفتم که


حالا این سازگار را انجام بده و اینجا اعلام کن وتا بعد بهت بگم چه جوری به نمایشش دربیاری
حتی مثلا در صفحه web

gohari244
سه شنبه 18 دی 1397, 09:37 صبح
ممنونم که وقت میذاری

این هم انجام شد

www.pc3enter.tk
سه شنبه 18 دی 1397, 17:08 عصر
خب الحمدالله ، امید وارم ماهی گیری را یادگرفتی باشی تا اینجا
اگر میخواهی بیشتر یاد بگیری، کار روی متن اینجا را کلیک کن (http://barnamenevis.org/showthread.php?542266-%D8%A7%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D8%B1%D8%B4%D8%AA%D9%87&highlight=)

خب می‌رسیم حالا برای به نمایش در آوردنش
حالا باید چه کار کرد؟؟؟؟؟ هاااااا

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

فقط فقط باید دانش پیاده سازی نمایش اونو را همراه با قانونش بلد باشی.
مثلا برای نمایش در Html را به شکل خیلی بهت میگم ، شاید برای بیشتر کسانی که هم میخوانند هم جالب باشه و برای اولین بار سوم باشه که اینکارو میکنند.


از اول همه قانون ساخت جدول در html اینطوریه


<table border=4>
<tr><td>ali</td><td>milad</td></tr>
<tr><td>reza</td><td>behnam</td></tr>
</table>


ادامه دارد که می‌نویسم
فعلا تا پنجشنبه صبر کن

gohari244
سه شنبه 18 دی 1397, 22:41 عصر
لطفا توضیح بده چطور ببرمش تو دیتا گرید طوری که اون عناوین بشن ستون مقدارشون هم بشه رکورد