我爱Aspx >> C#.Net >> XML卷之实战锦囊(5):结构树图_XML教程
动机:
最初想起做二叉树是因为需要做一个公司结构图。 以前的做法都是直接用图象软件画出来一个图片。很好看,但每次有变动后都需要重新画一个新的。 另一方面,网页上对线条的显示、布局相当局限。根据动态生成的数据进行排版、定位都相当困难, 而且在美观上也差强人意。 做了各种尝试以后,决定用XML+XSL作数据运算; 用VML来美化线条,用javascript来给对象定位。
材料:
XML卷之结构树图
有2个文件:flow2.xml 和 flow2.xsl
效果:
浏览这里
讲解:
二叉树思路(1)
<html xmlns:v="urn:schemas-microsoft-com:vml">
<STYLE>
v\:* { BEHAVIOR: url(#default#VML) }
</STYLE>
<v:group id="group1" name="group1" coordsize = "100,100">
…
</v:group>
以上这些都是VML的基本格式,我就不详细讲解了。
XML是树型结构,我们读取每个数据就需要对这个
XML数据树进行遍历。而递归运算是XSL优势之一。
我也是在用其它多种方法进行遍历运算失败后才
决定使用XSL的。
<FlowRoot>
<vcTitle>二叉树--结构图</vcTitle>
<Author>Sailflying</Author>
<Email>sailflying@163.net</Email>
<FlowNode>
<iProcess>1</iProcess>
<vcCourse>第一个节点</vcCourse>
<iNextYes>
<FlowNode>
<iProcess>2</iProcess>
<vcCourse>第二个节点</vcCourse>
<iNextYes>…</iNextYes>
<iNextNo>…</iNextNo>
</FlowNode>
</iNextYes>
<iNextNo>
<FlowNode>
<iProcess>3</iProcess>
<vcCourse>第三个节点</vcCourse>
<iNextYes>…</iNextYes>
<iNextNo>…</iNextNo>
Ҷƪл˵?
XML入门精解之结构与语法_XML教程[04-28]
XML入门的常见问题(一)_XML教程[04-28]
XML入门的常见问题(二)_XML教程[04-28]
XML入门的常见问题(三)_XML教程[04-28]
XML入门的常见问题(四)_XML教程[04-28]
XMLHTTP资料_XML教程[04-28]
偷窥HTML与XML之间的秘密_HTML教..[04-28]
HTML及XML语言的转义字符_HTML教..[04-28]
Windows.NET Server: XML Web 服..[04-28]
如何用ASP生成XML数据文档(RSS订..[04-28]
XML入门精解之结构与语法_XML教程[04-28]
XML入门的常见问题(一)_XML教程[04-28]
XML入门的常见问题(二)_XML教程[04-28]
XML入门的常见问题(三)_XML教程[04-28]
XML入门的常见问题(四)_XML教程[04-28]
XMLHTTP资料_XML教程[04-28]
通过ADO.NET存取文件_ADO.NET应用[04-28]
下一代ADO.NET---ADO.NET Entity..[04-28]
ADO.NET2.0跟ADO.NET3.0的一些新..[04-28]
ADO.NET 2.0:如何排除错误信息「..[04-28]