שמירת רשימת ערכים ממערך בתוך XML (פונקצית VBA )

הרבה פעמים אנחנו צריכים לשמור רשימה משתנה של ערכים.

בצורה של
מפתח = ערך
(key = value )

להלן פונקציה פשוטה שכתבתי שלוקחת מערך דו מימדי
כאשר בכל שורה יש 2 איברים
איבר מספר 1 – שם המאפיין
איבר מספר 2 – ערך המאפיין

הפונקציה מחזירה XML שמכיל את כל הערכים במערך

Public Function ArrayToXML(yAry As Variant) As String
    'This Function Get a 2 dimenesions array, and return XML string
    'On each row of the array need to be with 2 columns :
    '     1 - the name
    '     2 - the value
  Dim XmlObj As Object, pi As Object, I As Integer
  Dim Node As Object, Child As Object, att As Object
   'create an object, Late Binding
   Set XmlObj = CreateObject("Msxml2.DOMDocument.6.0")
   'create the first line, before the root element
   Set pi = XmlObj.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
   'now writes the the first line to the XML object
   XmlObj.InsertBefore pi, XmlObj.FirstChild
   'create root node
   Set Node = XmlObj.createelement("YourXmlRootNodeName")
        'Loop on the array
        For I = LBound(yAry, 1) To UBound(yAry, 1)
            'Create a Child node
             Set Child = XmlObj.createelement(yAry(I, 1))
            'Put the value
             Child.Text = yAry(I, 2)
            'put this Child node under the root node
            Node.appendchild Child
        Next I
    
    
    'put the root node under the documnet object
   XmlObj.appendchild Node
   'return all the xml as string
   ArrayToXML = XmlObj.xml
   
End Function

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *