首先,这个问题需要一些介绍,所以请多多包涵。
高层次是我正在连接到一个外部 Web 服务,它将一些 XML 返回到我的顶点控制器。这个想法是我想在 VisualForce 页面中显示返回为漂亮表格格式的 XML。返回的 XML 格式如下所示:
<Wrapper><reportTable name='table_id' title='Report Title'>
<row>
<Element1><![CDATA[campaign_id]]></Element1>
<Element2><![CDATA[577373]]></Element2>
<Element3><![CDATA[4129]]></Element3>
<Element4 dataFormat='2' dataSuffix='%'><![CDATA[0.7151]]></Element4>
<Element5><![CDATA[2010-04-04]]></Element5>
<Element6><![CDATA[2010-05-03]]></Element6>
</row>
</reportTable>
...
现在我正在使用 XMLdom 实用程序类(由 SF 为 XML 函数开发)将此数据映射到自定义对象“reportTable”,其中包含“行”自定义对象的列表。我以这种方式构建它的原因是因为我不知道每行中有多少元素,也不知道行数。
Visualforce 页面如下所示:
<table><apex:repeat value="{!reportTables}" var="table">
<apex:repeat value="{!table.rows}" var="row">
<tr>
<apex:repeat value="{!row.ColumnValue}" var="column">
<apex:repeat value="{!column}" var="value">
<td>
<apex:outputText value="{!value}" />
</td>
</apex:repeat>
</apex:repeat>
</tr>
</apex:repeat>
问题是:
1)这似乎是解决问题的好方法吗?
2)除了编写我自己的自定义对象以将 VF 映射到之外,是否有更简单/更好的方式来使用 XML?
接受任何和所有建议。我真的希望有比自己构建 HTML 表更好的方法,因为那时我还必须处理样式和对齐等。谢谢。