2016-08-23 12 views
0

次のXMLには2つの属性と値が含まれています。内容を含む値は、フィールドタグにラップされます。属性と値によるFreemarker XMLの解析

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

私がそれを解析した後、私はfreemarkerテンプレートに$ {item}をタイプするとこれを取得します。 @ keyとitem @ primitiveという項目を使って属性を取得できます。残念ながら、私は価値や内容を得ることに失敗しています。私の代わりの解決策は、値配列からコンテンツを取得するために部分文字列を使用することです。私はfreemarkerがこの種のデータを取得する方法を持っていると確信しています。

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

答えて

0

field XML要素がitemを保持していると仮定すると、${item}は動作するはずです。あなたが見せてくれる結果は私には分かりません。だから、おそらくあなたはいくつかの従来のXMLラッパーを使用しているように、そこにXMLをラップするのに奇妙なことがあると思います。 W3C DOM ElementまたはDocumentをデータモデルに追加するか、freemarker.ext.dom.NodeModelで明示的にラップする必要があります。

テンプレート::

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

データモデル:

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

ところで、あなたは、このようなフォームを記入した場合、それは確かに、動作するはずというhttp://freemarker-online.kenshoo.com/に試すことができます

関連する問題