PDA

View Full Version : خواندن فایل xml در C#



hattarzadeh
یک شنبه 30 مهر 1391, 00:41 صبح
با سلام
دوستان من گیر افتادم لطفا کمک کنید
من می خوام یه سری فایلهای xml رو بخونم و اونها رو دیتابیس کنم در حالت عادی تا اینجاش رو انجام دادم و مشکلی ندارم ولی مشکل از اونجایی شروع می شه که بین نودهای فایل xml حروف و علائم نامفهوم قرار می گیره با اینکه از try-catch استفاده کردم ولی باز هم نتونستم از این خطا رها بشم و توی یه loop گیر می افتم لطفا راهنمایی کنید به عنوان مثال یه تکه از فایل xml رو که دارای مشکل هست رو در اینجا قرار میدم تا کاملا متوجه منظورم بشین
<?xml version="1.0" standalone="yes"?>
<CallRecord xmlns="http://tempuri.org/CallRecord.xsd">
<CallRecords>
<CallID>»U´vÈ/œ&#x5;à/œ&#x5; &#x3;¶vT÷–
dJN&#x6;</CallID>
<InTime>2012-09-24T12:35:25.1237382+03:30</InTime>
<RelTime>2012-09-24T12:35:25.1237382+03:30</RelTime>
<RelType>Customer CLF_F</RelType>
<CanSave>true</CanSave>
<Operators>
<Name>ali</Name>
<IDCode>67</IDCode>
<ReqTime>2012-09-24T12:35:25.1237382+03:30</ReqTime>
<RelTime>2012-09-24T12:35:25.1237382+03:30</RelTime>
</Operators>
</CallRecords>

r0ot$harp
یک شنبه 30 مهر 1391, 08:20 صبح
سلام دوست عزیز

روش های زیادی برای این کار هست. روشی رو که خودم از اون استفاده می کنم رو برات می گم:
ابتدا تابع زیر رو به برنامتون اضافه کنید.

محتوای XML نمونه:
<?xml version="1.0" standalone="yes"?>
<users>
<user Name="ehsan">
<data>(*@(*($&#!</>
</user>
</users>


using System.Xml;

public XmlNode LoadElements(XmlNodeList NodeList, string Element)
{
XmlNode XmlNode = null;
foreach (XmlNode NodeTemp in NodeList)
{
if (NodeTemp.Name == Element)
XmlNode = NodeTemp;
}
return XmlNode;
}

XmlDocument doc = new XmlDocument();
doc.LoadXml(XML_String);

XML_String: محتوای XML داخل این متغیر هست.

XmlNode NodeUsers = LoadElements(doc.ChildNodes, "Users");
با استفاده از خط بالا Node مربوط به Users رو باز می کنید.

XmlNode NodeUser = LoadElements(NodeUsers.ChildNodes, "User");
if NodeUser != null)
{
strin Name = NodeUser.Attributes["Name"].Value;
}

داخل متغییر Name مقدار ehsan ریخته می شه.

به همین روال باید ادامه بدین.

باتشکر احسان

hattarzadeh
یک شنبه 30 مهر 1391, 12:31 عصر
با سلام و تشکر از شما احسان خان
اگه امکان داره یه مقدار بیشتر توضیح بدین من خیلی کار نکردم با فایلهای xml و برای اولین بار هست که مجبور شدم کار بکنم.ضمنا من در زیر کدی که نوشتم رو قرار می دم تا اگه تونستین اصلاحات رو رو کد برام انجام بدین
قبلا از همکاری و زحمات شما کمال تشکر و قدردانی رو دارم
94200

hattarzadeh
دوشنبه 01 آبان 1391, 14:44 عصر
سلام دوستان کسی نبود کمک کنه؟