プロジェクトで jQGrid の最新バージョンを使用しています。以下は、構成した完全な構成です。
jQuery("#list").jqGrid( {
url : 'Link.do?method=findAllBrand',
mtype : 'GET',
height : 350,
datatype : "xml",
colNames : [ 'Name' ],
colModel : [ {
name : 'name',
index : 'name',
width : 620
} ],
rowNum : 10,
rowList : [ 10, 20, 30 ],
sortname : 'id',
sortorder : "desc",
viewrecords : true,
multiselect : true,
imgpath : 'themes/base/images',
caption : "Brand (s) Summary Grid",
pager : $('#pager'),
cache : false,
onSelectRow : function(id) {
}
});
サーバーから次のデータを xml 形式で取得しています。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rows><page>1</page><total>1</total><records>4</records><row id="BRD00003"><cell>Blanco</cell></row><row id="BRD00001"><cell>Bosch</cell></row><row id="BRD00004"><cell>Chef</cell></row><row id="BRD00002"><cell>F&P</cell></row></rows>
xml で特別な意味を持つ & char が含まれているため、最後の行の最後のセルで問題が発生していることがわかります。ただし、以下の関数を使用してApache commons langライブラリを使用してxml全体のシーケンスをエスケープしました。
toXml = StringEscapeUtils.escapeXml(toXml);
結果の文字列は
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rows><page>1</page><total>1</total><records>4</records><row id="BRD00003"><cell>Blanco</cell></row><row id="BRD00001"><cell>Bosch</cell></row><row id="BRD00004"><cell>Chef</cell></row><row id="BRD00002"><cell>F&P</cell></row></rows>
それでも、Mozilla firefox の最新バージョンと chrome 、つまり 7,8 で同じエラーが発生しました。
グリッド内のこの特殊文字を表示する必要があるのですが、どうすればこの問題を解決できますか?
ありがとうミヒル・パレク