Leiste mit Community-Erfolgen erweitern.

Submissions are now open for the 2026 Adobe Experience Maker Awards

Mark Solution

Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.

GELÖST

How to get/run the content/script of a personalized block in javascript

Avatar

Level 2

melinam63825268_0-1671453337775.png

my code to get the content of personalization block :

var personalizationBlock = NLWS.xtkQueryDef.create(
<queryDef schema="nms:includeView" operation="select">
<select>


<node expr="[source/text]" allias="script"/>
</select>
<where>

<condition expr = {"@name = "+strSender+" "} />

</where>
</queryDef>
);
var res = personalizationBlock.ExecuteQuery();

logInfo("Script: "+res.toXMLString());
var test= res.getElementsByTagName("source")[0].getElementsByTagName("text").data;
logInfo("test : "+test);

 

I am getting the query response as below:

<includeView-collection>
<includeView>
<source>
<text>

<![CDATA[my script here]]>

</text>
</source>
</includeView>
</includeView-collection>

 

I need to get the script without the CDATA which is coming undefined now.

melinam63825268_0-1671453770124.png

 

1 Akzeptierte Lösung

Avatar

Korrekte Antwort von
Community Advisor

Hello @melinam63825268 ,

 

First you have a typo in your query, 'alias' is with one 'l' not two.

 

Try with the code below :

var personalizationBlock = NLWS.xtkQueryDef.create(
<queryDef schema="nms:includeView" operation="select">
<select>


<node expr="[source/text]" alias="script"/>
</select>
<where>

<condition expr = {"@name = '"+strSender+"'"} />

</where>
</queryDef>
);
var res = personalizationBlock.ExecuteQuery();

var data = res.getFirstElement("includeView").getValue("script");

logInfo("data : "+data);

 

Br,

Amine

Lösung in ursprünglichem Beitrag anzeigen

2 Antworten

Avatar

Korrekte Antwort von
Community Advisor

Hello @melinam63825268 ,

 

First you have a typo in your query, 'alias' is with one 'l' not two.

 

Try with the code below :

var personalizationBlock = NLWS.xtkQueryDef.create(
<queryDef schema="nms:includeView" operation="select">
<select>


<node expr="[source/text]" alias="script"/>
</select>
<where>

<condition expr = {"@name = '"+strSender+"'"} />

</where>
</queryDef>
);
var res = personalizationBlock.ExecuteQuery();

var data = res.getFirstElement("includeView").getValue("script");

logInfo("data : "+data);

 

Br,

Amine

Avatar

Level 2

Thanks a lot :). it worked .