قراءة ملفات xml من خلال vb.net

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

قراءة ملفات xml من خلال vb.net

مُساهمة من طرف VB.NET في الأحد أغسطس 04, 2013 12:16 pm

بسم الله الرحمن الرحيم

اهلا وسهلا بكم اعضاء و زوار منتدى مصر التقنى .....درس اليوم عن ملفات ال XML وهي ملفات عادية جدا يستطيع المستخدم قرائتها وتحليلها من دون اي مشاكل و تستخدم أساسا لتخزين البيانات ونقلها ...سنتعلم كيفية فتح وقراءة تلك الملفات من خلال الدوت نت


1 _ وقبل كل شيء يجب أن استيراد ملف XML على النحو التالى :

الرمز:

Imports System.Xml


2_ توجد طريقتين لقراءة تلك الملفات وهما

أ_ باستخدام الكائن xmldocument
ب_ بإستخدام الفئة xmlreader

فى هذا الدرس سنتعلم قراءة ملفات xml باستخدام الطريقة الاولى xmldocumen ....لذلك نقوم بإنشاء كائن جديد من الكائن xmldocumen
الرمز:

Dim xmldoc As New XmlDocument

3_ يتطلب الكائن xmlelement للإشارة إلى عناصر XML لذلك سنقوم بالاعلان عن متغير لتحمل تلك العناصر ,,,,باستخدام الكود التالى :
الرمز:

Dim myelement As XmlElement
4_ نقوم بعد ذلك بتحميل ملف XML المراد القراءة منه .....لذلك سنقوم بعمل وظيفة لتحميل هذا الملف على النحو التالى :
الرمز:

Public Sub load(ByVal path As String)
   xmldoc.Load(path)
End Sub

الآن يتم تحميل xml في المتغير xmldoc

5_الآن نحن نريد للوصول إلى عناصر معينة في ملف XML لذلك سنقوم بعمل وظيفة اخرى التي تقبل المسار ويعيدك عنصر باستخدام الكود التالى :
الرمز:

Public Shared Function Return_XML_Element(ByVal XMLDOC As Xml.XmlDocument, ByVal Path As String) As XmlElement
   Dim node As XmlNode
   Dim xnode As XmlElement
   node = XMLDOC.SelectSingleNode(Path)
   xnode = CType(node, XmlElement)
   Return xnode

End Function

6_ بسبب الوظيفة أعلاه يمكنك الوصول إلى عنصر معين فى ملف XML.  إذا كنت ترغب في الوصول إلى قيمة تلك العنصر ....اما اذا اردت الوصول الى اسم العنصر فنقوم بعمل الوظيفية التالية :
الرمز:

Public Shared Function Return_Column_Value(ByVal inParentElement As XmlElement, ByVal columnName As String) As String
Dim i As Integer

If inParentElement.HasChildNodes Then
For i = 0 To inParentElement.ChildNodes.Count
If Trim(UCase(inParentElement.ChildNodes(i).Name)) = Trim(UCase(columnName)) Then
Return inParentElement.ChildNodes(i).InnerText
End If
Next
End If
Return ""
End Function

وهكذا استطعنا قراءة ملف xml

7_لاضافة قيم الى ملف xml سنقوم بعمل الوظيفة التالية :
الرمز:

Public Sub Set_Value(ByVal inParentElement As XmlElement, ByVal columnName As String, ByVal inNewInnerText As String)
Dim i As Integer

If inParentElement.HasChildNodes Then
For i = 0 To inParentElement.ChildNodes.Count
If Trim(UCase(inParentElement.ChildNodes(i).Name)) = Trim(UCase(columnName)) Then
inParentElement.ChildNodes(i).InnerText = inNewInnerText
Exit For
End If
Next
End If
End Sub

8_ الوظيفة السابقة لاضافة قيم الى عناصر ملف xml لكن لكى يتم حفظ الملف يجب استخدام الكود التالى :

الرمز:


Public Sub save(ByVal SaveFilepath As String)
xmldoc.Save(SaveFilepath)
End Sub

VB.NET
المراقبين
المراقبين

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 185
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى