首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将-> HL7转换为XML的查询

将-> HL7转换为XML的查询
EN

Stack Overflow用户
提问于 2020-02-27 21:41:45
回答 1查看 366关注 0票数 0

我是新手,当我尝试将HL7转换成XML时,我是struggling.Suppose,我的HL7消息有重复的片段,就像ORM消息中的ORC一样,如何迭代。下面是我的代码:

代码语言:javascript
运行
复制
tmp['Messages']['orderList']['order'][count]['provider']=msg['ORC'][count]['ORC.10']['ORC.10.1'].toString();

但是它抛出了一个错误:

代码语言:javascript
运行
复制
`TypeError: Cannot read property "provider"` from undefined.

请帮助我继续下一步。

EN

回答 1

Stack Overflow用户

发布于 2020-02-29 02:44:27

它失败是因为您的counttmp['Messages']['orderList']['order']返回的元素数多,所以它返回未定义的元素。简而言之,您需要向tmp['Messages']['orderList']添加另一个order节点,然后才能访问它。在看不到更多的代码、需求、出站模板等的情况下,很难说如何最好地做到这一点。大多数情况下,我首先构建节点,然后使用appendChild添加它。

一个简单的例子是:

代码语言:javascript
运行
复制
var tmp = <xml>
    <Messages>
        <orderList />
    </Messages>
</xml>;

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

tmp.Messages.orderList.appendChild(nextOrder);

在此之后,tmp将如下所示:

代码语言:javascript
运行
复制
<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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60434609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档