Announcement

Collapse
No announcement yet.

XSD-Elemente in Excel auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSD-Elemente in Excel auslesen

    Hallo liebe Entwickler,

    ich stehe vor einem Problem, wobei ihr mir vielleicht helfen könnt. Ich habe ein Excel Arbeitsblatt, wo XML-Daten enthalten sind und die gegen ein Schema validiert werden können. Diese können wunderbar importiert und exportiert werden. Nun habe ich ein Auswahlfeld(DropDown)-Feld erstellt, welche Möglichkeiten für das Feld möglich sind. Da diese ja in der Schema-Datei enthalten sind, möchte ich diese enumerations zum füllen des Auswahlfeld benutzen. Hat jemand einen Ansatz hierfür oder ne Idee? Gibt es da ne Excel-Funktion (am besten kein vb , das kann ich leider net). Bin sonst mehr im Java-Umfeld tätig.


    P.S.
    Wusste nicht, wo ich das posten solte. Deshlab existiert dieser Beitrag zweimal.

  • #2
    Code:
    Sub lesen()
    ...
    
    strDateiname = ""  '
    
        bXMLok = MSXML.Load(strDateiname)
        
    
        If bXMLok = False Then
            MsgBox "Die Datei " & strDateiname & " wurde nicht als korrektes XML Dokument eingelesen"
        Else
            ' Überschrift setzen
            For intIndex = 1 To UBound(a)
                Range(a(intIndex) & "1").Value = b(intIndex)
            Next
    
            'Über die Element Liste der Schemadatei iterieren
           
            Set elementList = MSXML.selectNodes("/xs:schema/xs:element[@name='rule']/xs:complexType/xs:sequence/xs:element/@ref")
    
            
            For elementIndex = 1 To elementList.Length - 1
                elementName = elementList.Item(elementIndex).Text
                elementNode = "/xs:schema/xs:element[@name='" & elementName & "']/xs:simpleType/xs:restriction/xs:enumeration/@value"
                Set xNodeList = MSXML.selectNodes(elementNode)
                
                newRow = 1
                
                For xNodeIndex = 0 To xNodeList.Length - 1
                    newRow = newRow + 1
                    Range(a(elementIndex) & newRow).Value = xNodeList.Item(xNodeIndex).Text
                Next xNodeIndex
                
                
            Next elementIndex
    
        End If
       
    End Sub

    Ich lese nun das ganze per Makro raus...nun brauche ich noch ne Möglichkeit sie nicht nur geändert zu speichern(das soltle kein Problem sein), aber wenn weitere Elemente hinzukommen....wie kann ich diese in die XSD eintragen

    Comment

    Working...
    X