2.0 xml
说到2.0中的xml,功能还是很强大的,对于我而言,最主要功能就是利用它绘制表格了,在不进行编辑和修改的条件下,速度远远还是比gridview速度来的要快多了。
xml绘制表格或自己想绘制的格式主要有两种方式,一种是写*.xml文件和*.xsl文件组合,另一种是用自己写的xml字符串和*.xsl组合 进行绘制。
实例最能让初学者得到理解,不多说了。
<?xml version="1.0" encoding="utf-8" ?>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<GetBusyCellTopN>
<Row>
<Region>南京</Region>
<Section>六合县</Section>
<Cell>1区</Cell>
<Traffic>23.2</Traffic>
<TrafficPerCh>12</TrafficPerCh>
</Row>
<Row>
<Region>南京</Region>
<Section>六合县</Section>
<Cell>2区</Cell>
<Traffic>23.2</Traffic>
<TrafficPerCh>12</TrafficPerCh>
</Row>
<Row>
<Region>南京</Region>
<Section>六合县</Section>
<Cell>3区</Cell>
<Traffic>23.2</Traffic>
<TrafficPerCh>12</TrafficPerCh>
</Row>
<Row>
<Region>南京</Region>
<Section>六合县</Section>
<Cell>4区</Cell>
<Traffic>23.2</Traffic>
<TrafficPerCh>12</TrafficPerCh>
</Row>
<Row>
<Region>南京</Region>
<Section>六合县</Section>
<Cell>5区</Cell>
<Traffic>23.2</Traffic>
<TrafficPerCh>12</TrafficPerCh>
</Row>
</GetBusyCellTopN>
接下来是.xsl文件
<?xml version="1.0" encoding="utf-8"?>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<xsl:template match="/GetBusyCellTopN">
<fieldset>
<legend>超忙小区前10名</legend>
<table style="width: 99%; background-color:#CCCCCC;" cellspacing="1" cellpadding="2" border="0">
<tr style="font-weight:bold;">
<td class="tdHeadbg_gray" align="center" noWrap="true">地区</td>
<td class="tdHeadbg_gray" align="center" noWrap="true">县分</td>
<td class="tdHeadbg_gray" align="center" noWrap="true">小区</td>
<td class="tdHeadbg_gray" align="center" noWrap="true">话务量</td>
<td class="tdHeadbg_gray" align="center" noWrap="true">每线话务量</td>
</tr>
<xsl:for-each select="child::Row">
<tr>
<td class="tdbg_gray" style="background-color:#E6E6FA; " align="right" noWrap="true">
<xsl:value-of select="Region"/>
</td>
<td class="tdbg_gray" style="background-color:#E6E6FA; " align="right" noWrap="true">
<xsl:value-of select="Section"/>
</td>
<td class="tdbg_gray" style="background-color:#E6E6FA; " align="right" noWrap="true">
<xsl:value-of select="Cell"/>
</td>
<td class="tdbg_gray" style="background-color:#E6E6FA; " align="right" noWrap="true">
<xsl:value-of select="Traffic"/>
</td>
<td class="tdbg_gray" style="background-color:#E6E6FA; " align="right" noWrap="true">
<xsl:value-of select="TrafficPerCh"/>
</td>
</tr>
</xsl:for-each>
</table>
</fieldset>
</xsl:template>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</xsl:stylesheet>
<div>
<asp:Xml ID="Xml1" runat="server" DocumentSource="GetBusyCellTopN.xml" TransformSource="GetBusyCellTopN.xsl"></asp:Xml>
</div>
/// <summary>
/// 绑定Xml数据按照预定格式输出
/// </summary>
/// <param name="strXml">xml数据流</param>
private void BoundXmlToHtml(System.Web.UI.WebControls.Xml xml,string strXml)
{
try
{
XmlDocument doc = new XmlDocument();
TextReader strReader = new StringReader(strXml);
doc.Load(strReader);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
XslTransform xsTran = new XslTransform();
xsTran.Load(Server.MapPath(@"Xml/GetBusyIdleCell.xsl"));
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
xml.Document = doc;
xml.Transform = xsTran;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
xml绘制表格或自己想绘制的格式主要有两种方式,一种是写*.xml文件和*.xsl文件组合,另一种是用自己写的xml字符串和*.xsl组合 进行绘制。
实例最能让初学者得到理解,不多说了。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
接下来是.xsl文件
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
aspx文件,这里不做太多描述,就是随便在一个div里拽一个xml,然后设置好数据源和解释文件的路径就ok了。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
一行代码都不用写,运行就ok了,这个图表不是很好看,能力有限,不过一定有人会画的很漂亮。
第二种方法:没有了GetBusyCellTopN.xml文件,代之的是String 类型的字符串,在这我就不把字符串内容写出来了,你把.xml文件内容完整的用字符串输出就好了。在.aspx文件中不用设置DocumentSource 和 TransformSource了,在这里用代码实现其中的部分。
.cs文件内容:
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
是不是觉得很简单,其实大部分时间还是花在了怎样设计.xml 和 .xsl 上了,要先学会xpath哦!