Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

parse xml passed inside <ctx> for Transactional template

Avatar

Level 3

Hi All,

 

i am getting the below xml inside my ctx of rt event

<ctx>

                <userMessage>

                    <userData>

                        <abc.alpha.new.system.User>

                            <userType>Fixed</userType>

                            <userBackground>Regular</ userBackground>

                            <productBookingDate>2015-05-8</productBookingDate >

 

when I am using --->  rtEvent.ctx.userMessage.userData.abc.alpha.new.system.User.userBackground ----- i am getting empty value
even if I use rtEvent.ctx.userMessage.userData.("abc.alpha.new.system.User").userBackground i still get empty value

 

Kindly suggest how to parse this xml to retrieve the value of 'userBackground' 

Please

 

@Vipul_Raghav 

@Manoj_Kumar_ 

@ShrawanSaxena 

0 Replies

Avatar

Community Advisor

Hi @bhaskarc1289447 

Can you try this ? :

 

var doc = DOMDocument.fromXMLString(
    '<?xml version="1.0" encoding="ISO-8859-1"?>' +
    rtEvent.ctx.toXMLString());

var userBackground = doc.root.getElements('userMessage')[0]
                  .getElements('userData')[0]
                  .getElements('abc.alpha.new.system.User')[0]
                  .getElements('userBackground')[0].textContent;

Cedric

 

Avatar

Administrator

Hi @bhaskarc1289447,

Was the given solution helpful to resolve your query or do you still need more help here? Do let us know.

Thanks!

Avatar

Level 3

Hi @Sukrity_Wadhwa 

 

we tried the solution but it did not work as 'DOMDocument' was not recognized inside transactional Template

Avatar

Administrator

Thanks for sharing this, @bhaskarc1289447. I will escalate it further among the Community experts.

 

Regards,

Sukrity

 

Avatar

Level 3

Hi @bhaskarc1289447 ,

 

The dot notation in the XML element causes the issue while parsing the XML.

 

Can you try this way by changing the payload: 

 

Instead of a dot use an underscore (abc_alpha_new_system_User) or CamelCase (abcAlphaNewSystemUser)

 

<ctx>

                <userMessage>

                    <userData>

                        <abc_alpha_new_system_User>

                            <userType>Fixed</userType>

                            <userBackground>Regular</ userBackground>

                            <productBookingDate>2015-05-8</productBookingDate >

 

And then try to access rtEvent.ctx.userMessage.userData.abc_alpha_new_system_User.userBackground.

 

Thanks,

Malarrajan Sundarraj.