xml转化为html表格的问题,各位请进来看看。

OneDotRed 2004-08-26 08:51:31
我想将xml作如下转换

------------XML--Snippet-----------------
<node type="table" cols="3">
<node type="table" cols="x">
.......
</node>
<node type="cell" cols="1" />
<node type="cell" cols="2" />

<node type="cell" cols="1" />
<node type="cell" cols="1" />
<node type="cell" cols="1" />
<node type="cell" cols="1" />

<node type="table" cols="x">
.......
</node>
</node>
-----------HTML---Table-------------
<table>
<table>
.....
</table>

<tr><td colspan="2"/><td /></tr>
<tr><td /><td /><td /></tr>
<tr><td /><tr>

<table>
.....
<table>
<table>
----------------------------------

请问各位有什么高招啊?等待中……
...全文
176 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
OneDotRed 2004-08-26
  • 打赏
  • 举报
回复
Sunmast大哥有什么高招没?
OneDotRed 2004-08-26
  • 打赏
  • 举报
回复
呵呵,我就是想在外部实现,如果使用xml下面的类库就不方便extensible了^_^
OneDotRed 2004-08-26
  • 打赏
  • 举报
回复
请大家尽量具体点哦,最好给出点关键的代码片断,我刚刚研究xslt,还有许多不懂的地方需要向大家请教的。^_^
附带几个小问题:
怎么得到一个节点在其父节点中的位置?例如我在为一个node(xxx/node[1])应用一个template时,它的position()总是为一,除非我选择的是xxx/node;如果使用参数就太麻烦了。
thanks
速马 2004-08-26
  • 打赏
  • 举报
回复
如果不用XSLT的话(说实话这玩意性能不行)
可以使用XmlTextReader搞定
你这种的应该很容易,嗯,到SDK上找例子
OneDotRed 2004-08-26
  • 打赏
  • 举报
回复
看看xml和转化后的html就知道了。
node的type如果是table,表示的为一张表,如果为cell,则对应的是<td />
table的cols表示它的最大列数,cell的cols表示为colspan值,即在<table />的<tr/>中所占的格数。
一个Table(TMain)下面可以有多个Table和Cell,如果下面为Table(t1)的话,则单独占TMain的一行,表示为
<TR><Table id="t1" /></TR>
如果TMain下面的相邻Cell的cols加起来等于(有时会大于)TMain的cols的话,那么前面的cells占一行,后面的cells重新开始循环,如上面的
<node type="cell" cols="1" />
<node type="cell" cols="2" />

<node type="cell" cols="1" />
<node type="cell" cols="1" />
<node type="cell" cols="1" />

<node type="cell" cols="1" />
表示为html 标签时就是
<tr><td colspan="1" /><td colspan="2" /></tr>

<tr><td colspan="1" /><td colspan="1" /><td colspan="1" /></tr>

<tr><td colspan="1" /></tr>
这里困难的就是累计那个cols,然后再重新再table添加一个tr。
------------------------------
我是这样想的,先设两个变量,值分别为<tr>,</tr>
然后再依次读取一个node下面的node,但是现在实现起来还是有点困难,希望高手们能给我解惑。
thank advance!
速马 2004-08-26
  • 打赏
  • 举报
回复
说清楚究竟要怎么转先,可以帮你写个XSLT,不过这种事情最好还是自己去做唔
速马 2004-08-26
  • 打赏
  • 举报
回复
做个XSL就行了
然后:
<asp:xml DocumentSource="xxx.xml" TransformSource="xxx.xsl" runat="server" />
dub 2004-08-26
  • 打赏
  • 举报
回复
用xsl转换,等楼下的给答案吧,呵呵
wxlada 2004-08-26
  • 打赏
  • 举报
回复
高招就是循环读节点,自己拼html字符串。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧