قراءة ملفات 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
avatar
VB.NET
المراقبين
المراقبين

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

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

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


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