Чтение XML

Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine

Формат данных XML поддерживает чтение XML из строк (String) и потоков ввода (InputStream).

Чтение XML из строки

import static io.openbpm.spin.Spin.*;
import static io.openbpm.spin.DataFormats.*;

SpinXmlElement xml = S("<order />", xml());

Второй параметр xml() подсказывает Spin использовать формат данных XML для разбора строки.

Альтернативно, можно напрямую использовать функцию XML(…​):

import static io.openbpm.spin.Spin.*;

SpinXmlElement xml = XML("<order />");

Чтение XML из Reader

Spin также поддерживает чтение XML непосредственно из java.io.Reader:

import static io.openbpm.spin.Spin.*;
import static io.openbpm.spin.DataFormats.*;

SpinXmlElement xml = S(reader, xml());

Метод XML(…​) также поддерживает объекты Reader. Следующий пример показывает, как читать XML из файла (обработка ошибок опущена):

import static io.openbpm.spin.Spin.*;

FileInputStream fis = new FileInputStream("/tmp/incomingOrder.xml");
InputStreamReader reader = new InputStreamReader(fis, "utf-8");
SpinXmlElement xml = XML(reader);

Чтение XML с использованием скриптового языка

XML можно читать из скриптовых языков так же, как из Java. Поскольку скриптовые языки используют динамическую типизацию, указывать формат данных не нужно — можно использовать автоопределение. Следующий пример демонстрирует чтение XML на JavaScript:

var orderId = S('<order id="1231" />').attr('id');

Лицензия и атрибуция

Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .

Оригинал документации: https://docs.camunda.org