PDA

View Full Version : مشکل در افزودن نودهای یک فایل xml در جداول sql دارای ارتباط



lovee20002002
چهارشنبه 31 تیر 1394, 23:17 عصر
سلام دوستان من یک فایل xml دارم با یه مشکل که نتونستم حلش کنم

<Xix><PHoop>
<id>2</id><date>940105</date><roe>999</roe><srial>45643366565</srial></PHoop>
<BoY>
<End><gio>00654</gio><pric>25000</pric></End>
<End><gio>00007</gio><pric>198900</pric></End>
<End><gio>989092</gio><pric>20000</pric></End>
<End><gio>13267</gio><pric>13850</pric></End>
</BoY>
</Xix>
این فایل xml منه البته یک قسمت Xix مدام تکرار میشه
من میخوام این فایل در دوتا تیبل ذخیره کنم مشکلی با ذخیره قسمت اول PHoop ندارم
اما قسمت دوم باید برای هرکدوم id هم یک ستون بسازه و رابطه پدر فرزند بین دوتا تیبل با id برقرار بشه ممکنه کمک کنید ممنون هنگ کردم کلا

Amir4317
پنج شنبه 01 مرداد 1394, 00:28 صبح
سلام
یک جدول برای PHoop شامل ستون‌های srial id date roe
و یک جدول برای BoY شامل ستون‌های gio pric که هر رکورد یک End در نظر گرفته میشه
که برای رکود پدر هم باید یک ستون pId اضافه بشه و مقدار id جدول بالایی رو توش قرار بدید.

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

lovee20002002
جمعه 02 مرداد 1394, 18:10 عصر
ممنون ا.کی در نظر گرفتم جداول رو برای خوندن pid در جدول دوم مشکل دارم نمیتونم pid رو بخونم از xml

lovee20002002
جمعه 02 مرداد 1394, 20:01 عصر
خوب دوستان من با یه حلقه مشکل رو حل کردم اگر کسی راه بهتری بلد بود ممنون میشم اطلاع بده همه استفاده کنن

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Application.StartupPath + "\\xml.xml");
XmlNode root = xmlDoc.DocumentElement;
//MessageBox.Show(root.ChildNodes.Count.ToString());
for (int i = 0; i < root.ChildNodes.Count; i++)
{
XmlNode rootph = root.ChildNodes[i];
XmlNode rootby = root.ChildNodes[i].LastChild;
for (int j = 0; j < rootby.ChildNodes.Count; j++)
{
XmlNode rootmg = rootby.ChildNodes[j];
table.Rows.Add(rootph.FirstChild["Id"].InnerText.ToString(),
rootmg.LastChild.InnerText.ToString());
}
}