اولآ تم تجربة الكود بهذا الشكل
لاكن عند التعديل ليعمل بهذا الشكل
يعطي خطأ فى originalXml.LoadXml(Path)
غالبآ يمكن الخطأ من ملف 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)
كود :
Dim Path As String = Application.StartupPath + "\test.xml"