منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : خطأ صغير فى كود التعديل على ملف xml
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اولآ تم تجربة الكود بهذا الشكل

كود :
       Dim xmlInitial As String = "<Test>" & vbCr & vbLf & "<test name='ahmed' age='20'>" & vbCr & vbLf & "  </test>" & vbCr & vbLf & " </Test>"
       MsgBox(xmlInitial)
       Dim xmlUser As String = "<test name='mohamed' age='20'>" & vbCr & vbLf & " </test>"
       Dim originalXml As New XmlDocument()
       Dim targetNode As String = "descendant::*[name(.) ='test'] [@age='20']"
       'originalXml.LoadXml(Path)
       originalXml.LoadXml(xmlUser)
       Dim editNode As XmlNode = originalXml.SelectSingleNode(targetNode)
       Dim fragment As XmlDocumentFragment = originalXml.CreateDocumentFragment()
       fragment.InnerXml = xmlUser
       editNode.ParentNode.ReplaceChild(fragment, editNode)
       'originalXml.Save(Path)
       MsgBox(originalXml.OuterXml)
 لاكن عند التعديل ليعمل بهذا الشكل
كود :
       Dim xmlUser As String = "<test name='mohamed' age='20'>" & vbCr & vbLf & " </test>"
       Dim originalXml As New XmlDocument()
       originalXml.LoadXml(Path)
       Dim editNode As XmlNode = originalXml.SelectSingleNode("//Test//test[@name='Ahmed'] [@age='20']")
       Dim fragment As XmlDocumentFragment = originalXml.CreateDocumentFragment()
       fragment.InnerXml = xmlUser
       editNode.ParentNode.ReplaceChild(fragment, editNode)
       originalXml.Save(Path)
يعطي خطأ فى originalXml.LoadXml(Path)

كود :
Dim Path As String = Application.StartupPath + "\test.xml"
غالبآ يمكن الخطأ من ملف xml , فى المرفق
أخي الفاضل :
هل انت متأكد من مسار الملف ؟؟

ويفضل رفع المشروع
(15-07-16, 07:41 PM)boudyonline كتب : [ -> ]أخي الفاضل :
هل انت متأكد من مسار الملف ؟؟

ويفضل رفع المشروع

اجل المسار صحيح تم التعديل قليلآ فى ملف xml
أخي الفاضل :

إذا كان الكود الأول يعمل بطريقة صحيحة ... فما هي الفائدة في استخدام الكود الثاني ؟
(16-07-16, 05:26 PM)boudyonline كتب : [ -> ]أخي الفاضل :

إذا كان الكود الأول يعمل بطريقة صحيحة ... فما هي الفائدة في استخدام الكود الثاني ؟

للاضافة من xml 
تم الحل بواسطة وضع هذه الاكواد
كود :
   Dim fileName As String = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.xml")
      If IO.File.Exists(fileName) Then