Moduł XML umożliwia parsowanie plików XML na dwa sposoby
Do wykonywania zapytań XPath służy metoda evaluateXPathExpression, która wykonuje zapytanie XPath na dokumencie XML i zwraca wynik wykonania tego zapytania. Specyfikacja XPath jest dostępna pod adresem http://www.w3.org/TR/xpath/
Poniższy przykład pokazuje w jaki sposób pobrać miasto z przykładowego dokumentu z rozdziału dotyczącego generowania dokumentów XML.
Przykładowe użycie:
City: $xml.evaluateXPathExpression($@xml, "/order/address/city")
Do parsowania dokumentów XML przy użyciu interfejsu zdarzeniowego SAX służy metoda parseDocument, która czyta dokument XML i dla każdego elementu w tym dokumencie wywołuje obiekt jPALIO o podanym kodzie z następującymi parametrami:
Przykładowe użycie:
$=(pagesFromXml, $util.emptyList())
$xml.parseDocument("samples.modules.utils.xml.parsingCallback", $@xml)
<hr>Parsing result: jPALIO pages list</hr>
<table>
$for(@pageRow, (List) $pagesFromXml, {
<tr>
<td>$@pageRow[0]</td>
<td>$@pageRow[1]</td>
<td>$@pageRow[2]</td>
</tr>
})
</table>
Treść obiektu użytego w powyższym przykładzie (samples.modules.utils.xml.parsingCallback) obsługującego zdarzenia związane z parsowaniem dokumentu
$#params(String tagName, Map tagAttributes, Object[] tagContext, String tagContent)
$if($==($@tagName, "page"), {
$util.add((List) $pagesFromXml, [$@tagAttributes.get("id"), $@tagAttributes.get("code"), $@tagAttributes.get("is_protected")])
})
samples.modules.utils.xml.parsingCallback