Auslesen von
Attributwerten und filtern von Einträgen
In diesem Beispiel
werden einzelne Attributwerte (id, firstname,
lastname) ausgelesen. Ausserdem werden Einträge über Funktionen
gefiltert.
xml-Datei:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<Document>
<SalDocs>
<SalDoc id="100" >
<Customer id="2020" firstname="Roman" lastname="Vonwil"/>
<Items>
<Item>
<ArtNo>A-100</ArtNo>
<Quantity>250</Quantity>
</Item>
<Item>
<ArtNo>B-100</ArtNo>
<Quantity>15</Quantity>
</Item>
</Items>
</SalDoc>
<SalDoc id="200" >
<Customer id="1044" firstname="Martin" lastname="Schild"/>
<Items>
<Item>
<ArtNo>B-250</ArtNo>
<Quantity>5</Quantity>
</Item>
<Item>
<ArtNo>B-270</ArtNo>
<Quantity>15</Quantity>
</Item>
</Items>
</SalDoc>
<SalDoc id="300" >
<Customer id="73" firstname="Ueli" lastname="Amstutz"/>
<Items>
<Item>
<ArtNo>100.1A</ArtNo>
<Quantity>10</Quantity>
</Item>
<Item>
<ArtNo>100.1B</ArtNo>
<Quantity>110</Quantity>
</Item>
</Items>
</SalDoc>
</SalDocs>
</Document>
Request für das Kopieren und Ausführen in der
OpaccOXAS LiveDocumentation:
Common.XmlQuery
SourceFile=example1.xml
Rows=/Document/SalDocs/SalDoc/Customer[@id!="2020"]/../Items/Item
Column=SalDoc.CustNo,../../Customer/@id
Column=Addr.FirstName,../../Customer/@firstname
Column=Addr.LastName,../../Customer/@lastname
Column=SalDocItem.ArtNo,ArtNo/text()
Column=SalDocItem.Quantity,Quantity/text()
Abfrage mit Resultat:
(id 2020 wird ausgefiltert bzw. nicht ausgegeben)

Request für das Kopieren und Ausführen
in der OpaccOXAS LiveDocumentation:
Common.XmlQuery
SourceFile=example1.xml
Rows=/Document/SalDocs/SalDoc/Items/Item/Quantity[text()>100]
Column=SalDoc.CustNo,../../../Customer/@id
Column=Addr.FirstName,../../../Customer/@firstname
Column=Addr.LastName,../../../Customer/@lastname
Column=SalDocItem.ArtNo,../ArtNo/text()
Column=SalDocItem.Quantity,../Quantity/text()
Abfrage mit
Resultat: (Nur Mengen >100 ausgeben)