Java で手動で生成された古い xml ファイルがあります。そのツリー構造はこのようなものです。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="tvshows.xsl"?>
<rss version='0.91'>
<channel>
<title>xyz.com</title>
<link>http://www.xyz.com</link>
<description></description>
<item>
<title>Downton Abbey</title>
<link>http://www.xyz.com</link>
<description><![CDATA[
<tr class='chartContent'>
<td class='rank'>1.</td>
<td class='showTitle'>Dexter</td>
<td class='network'>CBS</td>
<td class='sumInvIndex'>210</td>
<td class='earlierWeek'>-13</td>
<td class='mediaInvIndex'>225</td>
<td class='socialNetworkInvIndex'>238</td>
<td class='gammaIndex'>--</td>
</tr>]]>
</description>
</item>
</channel>
</rss>
現在、JDOM ライブラリを使用して正確な形式を生成しています。しかし、CDATA[] をどのように処理すればよいでしょうか。ほぼ 10 列の <tr> を見つけました。私はそれを修正しようとしています
CDATA cdata = new CDATA("<tr class='chartContent'>");
cdata.append("<td class='rank'>" + current.getRank() + "</td>");
cdata.append("\n");
cdata.append("<td class='showTitle'>" + current.getShowTitle() + "</td>");
cdata.append("<td class='network'>" + current.getNetwork() + "</td>");
cdata.append("<td class='sumInvIndex'>" + current.getsumInvIndex() +"</td>");
cdata.append("<td class='earlierWeek'>" + current.getearlierWeek() + "</td>");
cdata.append("<td class='mediaInvIndex'>" + current.getmediaInvIndex() + "</td>");
cdata.append("<td class='socialNetworkInvIndex'>" + current.getsocialNetworkInvIndex() + "</td>");
cdata.append("<td class='gammaIndex'>" + current.getgammaIndex() + "</td>");
cdata.append("</tr>");
Element description = new Element("description");
description.setContent(cdata);
しかし、次のような列にタグを追加する最適な方法はありますか
Element rankTD = new Element("td");
rankTD.setText(current.getRank());
& add rankTD element to cdata .
使用後に生成される出力
Format format = null;
format = Format.getPrettyFormat();
content.add(new Element("td").setText(current.getRank()).setAttribute("class","showTitle"));
-------------------
-------------------
-------------------
String cdataContent = new XMLOutputter(format).outputString(content);
出力:
<description><![CDATA[<tr class="chartContent" />
<td class="showTitle">1.</td>
<td class="network">PBS</td>
<td class="sumInvIndex">210</td>
<td class="earlierWeek">-13</td>
<td class="mediaInvIndex">225</td>
<td class="socialNetworkInvIndex">238</td>
<td class="gammaIndex">--</td>]]></description>