PDA

View Full Version : آموزش: XmlDocument



ashkaseman
یک شنبه 16 بهمن 1390, 09:41 صبح
با سلام
من میخوام برنامه ای بنویسم که یک فایل XML رو بهش بدم بعد تعداد رکورد (داخل این فایل XML بهم برگردونه.
من نوشتم ولی ارور میده:
از دوستان خواهش میکنم که کمکی بکنید. من تو 2008 می نویسم XmlDocument رو نمیشناسه.تابع کتابخونه ای رو هم system Xml معرفی کردم.



xmlDcument xm = new XmlDocument()
xm.load(“D:\\Folder\\file.xml”);
int s = xm.documentElement.childNodes.count





نمونه ای از فایل Xml

<record>
<leader>00741ccl 22002413i 500</leader>
<controlfield tag="001">128351</controlfield>
<datafield tag="010" ind1="#" ind2=" ">
<subfield code="a">0198537794</subfield>

</datafield>

amin.bdn
یک شنبه 16 بهمن 1390, 15:53 عصر
این نمونه چرا سر و ته نداره!!!! حدس من اینکه قالب کلی فایل xml شما بایستی بصورت زیر باشه و بخش
datafield بایستی به ازای هر رکورد تکرار شود


<?xml version="1.0" encoding="utf-8" ?>
<records>


<datafield>

<leader>00741ccl 22002413i 500</leader>
<controlfield tag="001">128351</controlfield>
<datafield tag="010" ind1="#" ind2=" ">
<subfield code="a">0198537794</subfield>

</datafield>

</records>

ashkaseman
دوشنبه 17 بهمن 1390, 07:30 صبح
ممنون از پاسخ شما
بله درسته چون فایل XML حجم زیادی داشت من همشو نیاوردم.من از یک اپلیکیشن خروجی گرفتم فایل XML بهم داده ، حالا من میخوام تعداد Node هاشو Count کنم. از دوستان خواهشمندمم اگه کسی میدونه کمکم کنه.
با تشکر

modern_amin
دوشنبه 17 بهمن 1390, 09:52 صبح
دوستان اگر یکی همت کنه و کامل مبحث xml رو باز کنه ممنون میشم

amin.bdn
سه شنبه 18 بهمن 1390, 09:24 صبح
اول مطمئن باش که System.Xml را به Refrences اضافه کردی! عبارت "using System.Xml" هم بالای کد فایل وجود داشته باشه! بدست آوردنش شبیه کدی که خودت نوشتی هست!

XmlDocument doc = new XmlDocument();
doc.Load( "مسیر فایل");
xmlNodeList fieldList = doc.GetElementsByTagName( "datafield" );
int recordCount=fieldList .Count

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