2016-08-23 2 views
0

У меня есть следующий XML, который содержит два атрибута и значение. Значение, содержащее содержимое, заверяется в тег поля.XML-анализ Freemarker с атрибутами и значением

<field key="title" primitive="String"> 
<![CDATA[ 
This is the problem that I'm trying to solve. 
]]> 
</field> 

После того как я разобрать его, я получаю это когда я типа $ {пункт} в шаблоне Freemarker. Я могу получить атрибуты с помощью элемента. @ Key и item. @ Primitive. К сожалению, я не получаю ценность или содержание. Моим альтернативным решением является использование подстроки для получения содержимого из массива значений. Я уверен, что freemarker имеет способ получить такие данные.

field[attributes={key=title, primitive=String}; value=[This is the problem that I'm trying to solve.]] 

ответ

0

Предполагая item держит field XML элемент, ${item} должен работать. Вывод, который вы показываете, мне не знаком. Поэтому я предполагаю, что там есть что-то странное с оберткой XML, например, возможно, вы используете некоторые из устаревших оболочек XML. Вы должны использовать W3C DOM Element или Document, добавленный в модель данных, или явно заключенный с freemarker.ext.dom.NodeModel.

Кстати, вы можете попробовать на http://freemarker-online.kenshoo.com/ что он действительно должен работать, если вы заполните форму, как это:

Шаблон:

<#assign item=doc.field> 
${item} 

модель данных:

doc= 
<field key="title" primitive="String"> 
<![CDATA[ 
This is the problem that I'm trying to solve. 
]]> 
</field> 
Смежные вопросы