XMLelement für VBScript

Da es immer wieder im Kontext von enaio Events ärgerlich ist XMLs zu schreiben habe ich hier Rolands (@rk) Python XmlElement Bibliothek als VBScript XmlElement nachgebaut.

Einfach die ca. 60 Zeilen und den GlobalServerScript und/oder GlobalClientScript packen und in euren Events verwenden. Natürlich funktioniert dieser Code auch unabhängig von enaio.

Beispiel

Dim Query: Set Query = XMLElement("DMSQuery")
With Query
	With .Child("Archive")
        With .Child("Object")
            .Attr "internal_name", "Document"
            
            With .Child("Fields")
                .Attr "field_schema", "ALL"
            End With
            
            With .Child("Conditions")
                With .Child("ConditionObject")
                    .Attr "internal_name", "Document"
                    
                    With .Child("FieldCondition")
                        .Attr "internal_name", "Name"
                        .Attr "operator", "="
                        .ChildWithContent "Value", "Content"
                    End With
                End With
            End With
        End With
    End With
End With

Ergebnis

<DMSQuery>
	<Archive>
		<Object internal_name="Document">
			<Fields field_schema="ALL"/>
			<Conditions>
				<ConditionObject internal_name="Document">
					<FieldCondition internal_name="Name" operator="=">
						<Value>Content</Value>
					</FieldCondition>
				</ConditionObject>
			</Conditions>
		</Object>
	</Archive>
</DMSQuery>
3 „Gefällt mir“

Das ist wirklich nett, dass man nun auch in VBScripts/Events XMLs so notieren kann, dass man die Struktur wiedererkennt. Ich finde das viel logischer als die „lineare“ Optik der normalen XML-Writer. Vielen Dank! :smiley:

@uw hat den Code unter MIT veröffentlicht, also kann dieser jederzeit und überall eingesetzt werden.

Sehr interessant, Vielen Dank!

Ich war gerade dabei, eine ähnliche Klasse zu entwickeln. Bislang habe ich mir in enaio damit geholfen, dass ich XML, HTML, Übergabedateien, SQL-Anfragen usw. einfach aus Strings zusammengesetzt habe. Ich hatte mir lediglich eine kleine Klasse geschrieben, mit der ich mehrzeilige Strings etwas schöner zusammenbauen kann. Die gerade angepasste Fassung:

Class E_Text

    Private My_Text

    Public Sub Class_Initialize()
        My_Text = ""
    End Sub

    Public Sub Line(NewLine)
        My_Text = My_Text & NewLine & vbNewLine
    End Sub

    Public Default Property Get Text
        Text = My_Text
    End Property

End Class

Verwendung:

Dim Text : Set Text = New E_Text
With Text
    .Line "<html>"
    .Line "<head>"
    .Line "</head>"
    .Line "<body>"
    .Line "</body>"
    .Line "</html>"
End With