0

これが実現可能かどうかを確認しているだけで、可能であれば小さなコード例を入手できます。サーバーに保存されている XML ファイルを解析する JSP ページを作成することはできますか。

XML にはページに表示される要素が含まれるため、XML を変更すると、JSP ページの外観やレイアウトが変更される可能性があります。

ただし、XMLをフォーマットしてJSPに呼び出す方法はわかりません。誰かがリソースを知っているか、それが可能かどうかは非常に役立ちます(誰かが私のために何かをしてくれるとは思っていません;) )

ありがとう

4

1 に答える 1

1

はい、可能ですが、XSLT を使用しないのはなぜですか? 主な目的が変換である場合は、JSP を使用せずに XSLT が代わりに機能します。そうでない場合、実装は Java Server Pages ドメインに固有のものであり、サーバーを PHP などに変更する場合は、すべてを再プログラミングする必要があります。

Java を使用して XML データを変換する方法の簡単な例が必要な場合は、「data.xml」に格納されている次の xml を見てください。

<?xml version='1.0'?>
<data>
   <row><cell>1</cell><cell>2</cell><cell>3</cell></row>
   <row><cell>4</cell><cell>5</cell><cell>6</cell></row>
   <row><cell>7</cell><cell>8</cell><cell>9</cell></row>
</data>

XDom、JDom、またはあなたが持っているものを使用して、このファイルを読み取ることができます。Java に含まれている基本的な DOM を使用しますが、これはあまりフレンドリーではなく、イテレータが不足しているため、大きな XML ファイルにはお勧めできません。

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document d = db.parse(new File("./data.xml"));
out.println("<table border='1'>");
for(int i=0;i<d.getDocumentElement().getChildNodes().getLength();i++){
    Node row = d.getDocumentElement().getChildNodes().item(i);
    if(!row.getNodeName().equals("row")) continue;
    out.print("\t<tr>");
    for(int j=0;j<row.getChildNodes().getLength();j++){
        Node cell = row.getChildNodes().item(j);
        if(!cell.getNodeName().equals("cell")) continue;    
        out.print("<td>");
        out.print(cell.getTextContent());
        out.print("</td>");
    }
    out.println("</tr>");
}
out.println("</table>");

HTML出力は次のようになります。

<table border='1'>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>7</td><td>8</td><td>9</td></tr>
</table>
于 2012-09-14T09:15:48.643 に答える