.. highlightlang:: us
.. index:: xml_simple
.. _xml_simple:
xml_simple
================
.. us.tag xml_simple GERMAN XML New5600
:ref:`xml_simple` wandelt einen gültigen XML-String in ein UniScript-Objekt
um.
.. function:: o = xml_simple(ssXML)
.. us.return
**Returnwert**
*o* ist der XML-Tree oder ein Error-Objekt (siehe :ref:`error_create`).
::
xml_simple("1")
[.
a = "1"
]
xml_simple("2")
[.
a = [.
b = "1"
c = "2"
]
]
xml_simple("12")
[.
a = [.
b = "1"
c = "2"
]
]
.. us.params
**Parameter**
.. uparam:: ssXML
*ssXML* ist ein gültiger XML-String.
.. us.comment
**Kommentar**
XML-Deklarationen am Anfang des Strings werden ignoriert::
.. highlight:: xml
.. highlight:: us
Der Eingabestring *ssXML* muss gültige UNICODE-Zeichen enthalten.
:ref:`text_file_read` liefert für ANSI- und utf-8 kodierte Textdateien
UNICODE-Strings.
Bei der Funktion :ref:`xml_simple` geht die Reihenfolge der Elemente verloren.
Der Aufruf::
xml_simple("12")
liefert ebenso wie der Aufruf::
xml_simple("21")
das Objekt::
[.
a = [.
b = "1"
c = "2"
]
]
Falls die Reihenfolge wichtig ist, ist die Funktion :ref:`xml_parse_string`
besser geeignet.
Falls ein Element mehrere gleiche Kind-Elemente enthält, werden sie in ein Array
geschrieben::
s = "[[
Example
Test 1
Test 1 ...
Test 2
Test 2 ...
]]"
o1 = xml_simple(s)
[.
directory = [.
entry = [.
[1] = [.
key = "Test 1"
text = "Test 1 ..."
]
[2] = [.
key = "Test 2"
text = "Test 2 ..."
]
]
title = "Example"
]
]
Wenn nur ein entry-Element vorhanden ist, wird kein Vektor erzeugt::
s = "[[
Example
Test 1
Test 1 ...
]]"
o2 = xml_simple(s)
[.
directory = [.
entry = [.
key = "Test 1"
text = "Test 1 ..."
]
title = "Example"
]
]
Mit der Hilfsfunktion ``xml_simple_get(element)`` kann immer die
Vektor-Schreibweise verwendet werden, unabhängig davon ob das Element 0, 1 oder
mehr child-Elemente enthält::
entry = xml_simple_get(o2.directory.entry) // oder o1.directory.entry
for (i in 1:entry.count_num) {
print entry[i].text
}
Ein weitere Beispiel::
* xml_simple("456")
[.
a = [.
#text = "456"
b = "789"
]
]
.. us.history
**History**
.. list-table::
:header-rows: 1
* - Version
- Beschreibung
* - R2014
- Neu.
.. seealso::
:ref:`uberblick-XML`,
:ref:`text_file_read`,
:ref:`xml_parse_string`
:sub:`id-1561986`