Search code examples
javascriptmirthe4x

Add child to E4X with my variable


This is using Mirth Connect which uses E4x and js.

Basically I have a variable that I want to populate the XML with.

var memberid = "1234";
var fieldsxml = new XML(<fieldvaluelist></fieldvaluelist>);
fieldsxml.field += <fieldvalue templatefieldid="446" value=@memberid/> //memberID

But its giving an error on the 3rd line: (I also tried just memberid without quotes)

DETAILS: TypeError: Open quote is expected for attribute "value" associated with an element type "fieldvalue".

It works if the third line is this:

fieldsxml.field += <fieldvalue templatefieldid="446" value="memberid"/> 

But that just adds the literal string "memberid" . I actually want value="1234" instead.

How can I do this?

Edit: The final XML should look like this.

<fieldvaluelist><fieldvalue templatefieldid="446" value="1234"/></fieldvaluelist>

Solution

  • You're almost there. Instead of using @memberId, use {memberId}:

    fieldsxml.field += <fieldvalue templatefieldid="446" value={memberid}/>;