Веселье - ›HL7 в преобразование XML Ques

Я новичок в Mirth Connect. Когда я пытался преобразовать HL7 в XML, я боролся. Предположим, в моих сообщениях HL7 есть повторяющиеся сегменты, такие как ORC в сообщениях ORM, как это повторить. ниже мой код:

tmp['Messages']['orderList']['order'][count]['provider']=msg['ORC'][count]['ORC.10']['ORC.10.1'].toString();

но выдает ошибку:

`TypeError: Cannot read property "provider"` from undefined.

пожалуйста, помогите мне продолжить.


person Varatharaj Gopal    schedule 27.02.2020    source источник
comment
Справа от любого скрипта-преобразователя есть шаблон кода для перебора сегментов. Вы пробовали это?   -  person Shamil    schedule 27.02.2020
comment
да, Шамли, я пробовал, но не работает   -  person Varatharaj Gopal    schedule 28.02.2020


Ответы (1)


Это не удается, потому что ваш count больше, чем количество элементов, возвращаемых tmp['Messages']['orderList']['order'], поэтому он возвращает undefined. Короткий ответ заключается в том, что вам нужно добавить еще один узел order в tmp['Messages']['orderList'], прежде чем вы сможете получить к нему доступ. Трудно сказать, как лучше всего это сделать, не просматривая больше кода, требований, исходящего шаблона и т. Д. Чаще всего я сначала создаю узел, а затем использую appendChild для его добавления.

Простой пример:

var tmp = <xml>
    <Messages>
        <orderList />
    </Messages>
</xml>;

var prov = 12345;
var nextOrder = <order>
    <provider>{prov}</provider>
</order>;

tmp.Messages.orderList.appendChild(nextOrder);

После этого tmp будет выглядеть так:

<xml>
    <Messages>
        <orderList>
            <order>
                <provider>12345</provider>
            </order>
        </orderList>
    </Messages>
</xml>

Технология, которую вы используете для работы с xml, называется e4x и работает на движке Mozilla Rhino Javascript. Вот пара ресурсов, которые могут вам помочь.

https://web.archive.org/web/20181120184304/https://wso2.com/project/mashup/0.2/docs/e4xquickstart.html

https://developer.mozilla.org/en-US/docs/Archive/Web/E4X/Processing_XML_with_E4X

person agermano    schedule 28.02.2020