منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
معلومة ::: Write To Xml File - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : معلومة ::: Write To Xml File (/showthread.php?tid=5268)



معلومة ::: Write To Xml File - RaggiTech - 06-10-12

كاتب الموضوع : BADRMEDIA


شرحنا فى درس سابق كيفية القراءة من ملف Xml

لكن كيف نكتب ملف Xml ونتعامل معه بالكتابة فيه

سنستخدم العنصر XmlWriter

أنشأ مشروع - ضع زر أمر Button

أضف هذا الكود له



كود :
Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create("C:\BADRMEDIA.xml")
writer.WriteStartElement("AddressList")
writer.WriteEndElement()
writer.Close()

عرفنا متغير من نوع العنصر XmlWriter وأنشأنا ملف BADRMEDIA.xml

وضعنا عنوان للعنصر - AddressList






في الكود السابق سيتكون لدينا ملف على القرص المحلي C باسم BADRMEDIA.xml

سيكون محتواه كالتالي



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


معلومة ::: Write To Xml File - RaggiTech - 06-10-12

فى المثال السابق أنشأنا ملف Xml وفقط مجرد اسم للملف واسم للعنصر

لكن خصائص الملف ماذا لو أردت أن تنشأها

مثلاً خاصية Encoding

فيتم ذلكمع انشاء الملف


لنري المثال الأتى من خلال الكود



كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Try

Dim st As New System.Xml.XmlWriterSettings
st.Encoding = System.Text.Encoding.UTF8
Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create("C:\BADRMEDIA.xml", st)
writer.WriteStartElement("AddressList")
writer.WriteEndElement()
writer.Close()

Catch ex As Exception
MsgBox("" & ex.Message & "", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "BADRMEDIA SoftWare ")
End Try

End Sub






معلومة ::: Write To Xml File - RaggiTech - 06-10-12

تعرفنا علي كيفية ارسال الخصائص مع تكوين الملف


لنري شئ هام الآن


نفذ هذا الكود تحت زر الأمر



كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Try

Dim st As New System.Xml.XmlWriterSettings
st.Encoding = System.Text.Encoding.UTF8
Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create("C:\BADRMEDIA.xml", st)
writer.WriteStartElement("AddressList")
writer.WriteStartElement("ZIP_CODE")
writer.WriteEndElement()
writer.Close()

Catch ex As Exception
MsgBox("" & ex.Message & "", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "BADRMEDIA SoftWare ")
End Try

End Sub

أضفنا عنصر جديد اسمه ZIP_CODE

أذهب إلى مكان انشاء الملف وافتح الملف واطلع على محتواه ماذا تجد ؟؟؟؟


تجد محتوي الملف فى هذا الشكل



كود :
[color=#000080]<?xml version=[COLOR=#0000ff]"1.0"[/color] encoding=[color=#0000ff]"utf-8"[/color]?>[/COLOR][color=#000080]<AddressList>[/color][color=#000080]<ZIP_CODE />[/color][color=#000080]</AddressList>[/color]

ماذا لو أنشأنا عناصر أخري سيكون الملف صعب القراءة من الداخل لك

لذا جاء دور الخاصية المسئولة عن تنسيق الملف وللقيام بذلك نقوم بالآتي


أول شئ لابد أن نفعل الخاصية Indent ونجعلها تساوي True

ثم نتجه للخاصية IndentChars ونحدد نوع التنسيق المراد

وإليك هذا الكود




كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Try

Dim st As New System.Xml.XmlWriterSettings
st.Encoding = System.Text.Encoding.UTF8
st.Indent = True
st.IndentChars = ControlChars.Tab
Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create("C:\BADRMEDIA.xml", st)
writer.WriteStartElement("AddressList")
writer.WriteStartElement("ZIP_CODE")
writer.WriteEndElement()
writer.Close()

Catch ex As Exception
MsgBox("" & ex.Message & "", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "BADRMEDIA SoftWare ")
End Try

End Sub


اذهب الان واطع على ملف Xml من الداخل وتعرف على الفرق




معلومة ::: Write To Xml File - RaggiTech - 06-10-12

تكلمنا عن انشاء الملف وعن خصائصه وتكوين العناصر

لكن حتى الان لم نسند قيم للعناصر

الأمر سهل جدا

كل ما فى الأمر أنه بعد انشاء العنصر - ترسل له قيمة فقط




كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Try

Dim st As New System.Xml.XmlWriterSettings
st.Encoding = System.Text.Encoding.UTF8
st.Indent = True
st.IndentChars = ControlChars.Tab
Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create("C:\BADRMEDIA.xml", st)
writer.WriteStartElement("AddressList")
writer.WriteStartElement("ZIP_CODE")
writer.WriteValue("123-5555")
writer.WriteEndElement()
writer.Close()

Catch ex As Exception
MsgBox("" & ex.Message & "", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "BADRMEDIA SoftWare ")
End Try

End Sub