データを保持する複数のテーブルを作成する必要があります。すべてのテーブルは同じフィールドで構成されますが、各テーブルのデータはjQueryとJavascriptを使用してXMLファイルから解析されます。現在の私の設定は、XMLデータが配置される領域を識別する「id」フィールドを使用してHTMLでフォーマットされたテーブルを作成することです。例えば...
メインHTML:
<body id="top">
</body>
テンプレートHTML:
<table id="sectionTable" border="1" cellpadding="10" cellspacing="1" width="100%">
<tr><td id="information"></td></tr>
</table>
テンプレートをロードするJavascript:
$('#top').load('template.html #sectionTable');
これにより、HTMLファイル(この場合はtemplate.html)のID'sectionTable'の要素が取得され、HTMLページの本体であるID'top'の要素の本文に挿入されます。
XMLデータをテーブルに配置するためのJavascript:XMLデータを 適切に解析して保存し、それを変数に保存することができます。次に、このデータを適切なhtmlIDタグに追加します...
var title = <from XML>; //Lets say in this case title="My Stack Title"
...
$(#information).append(title);
結果のHTML:
<table id="sectionTable" border="1" cellpadding="10" cellspacing="1" width="100%">
<tr>
<td id="information">My Stack Title</td>
</tr>
</table>
このアプローチの問題は、XMLの複数のセクションをループしてこの手法を使用すると、新しいHTMLテーブルが作成されず、同じIDを使用しているため、既存のデータが上書きされることです。
DOMオブジェクトを使用することでこの問題を回避できることはわかっていますが、私の問題は、これは単純な例ですが、テーブルが複数のレベルやスタイルなどで非常に複雑になることです。これは、作成してネストするオブジェクトがたくさんあります。他のユーザーが将来変更するのは非常に難しいでしょう(これは非常に可能性が高いです)。テンプレートメソッドを使用すると、すべてがどこに行くのかを追跡するのは非常に簡単です。XMLデータの反復のインデックスに基づいてHTMLに一意のIDを配置する方法があれば、問題は解決しますが、これを実現する方法がわかりません。
助言がありますか?ありがとう!