首先声明:读取XML数据并不需要零代码实现,如果用DataSet同样可以读取。比如:
//DataSet dsFailSystem = new DataSet();
//string FailSystemfilepath = Server.MapPath("../XMLFile/FailSystem.xml");
//dsFailSystem.ReadXml(FailSystemfilepath);
//this.dpFailSystem.DataSource = dsFailSystem;
//this.dpFailSystem.DataMember = "FailSystem";
//this.dpFailSystem.DataTextField = "FailSystemName";
//this.dpFailSystem.DataValueField = "FailSystemName";
//this.dpFailSystem.DataBind();
这样一段代码足够把XML的数据读取出来,并且在DropDownList显示出来。但是这种写代码还是有点问题:比如用户不愿意输入这么多代码、并且容易出错。所以在此对代码实现不多介绍,只介绍零代码如何实现读取XML数据。
步骤如下:
1、书写XML文件,如下:
<?xml version="1.0" encoding="utf-8" ?>
<FailCurrectWayDataSet>
<FailCurrectWay>
<FailCurrectWayName>更换</FailCurrectWayName>
</FailCurrectWay>
<FailCurrectWay>
<FailCurrectWayName>修理</FailCurrectWayName>
</FailCurrectWay>
<FailCurrectWay>
<FailCurrectWayName>改进设计</FailCurrectWayName>
</FailCurrectWay>
<FailCurrectWay>
<FailCurrectWayName>其他方式</FailCurrectWayName>
</FailCurrectWay>
</FailCurrectWayDataSet>
2、如果是GridView控件,可以直接在选择数据库的时候选择XML文件,然后选择刚刚新建的XML文件。在写个XPath:/FailCurrectWayDataSet/FailCurrectWay即可。
3、如果是DropDownList控件,写XPath是没有用的,页面会提示错误。找不到XPath,此时需要另外一个文件:XSL文件做转化文件,如下:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="FailCurrectWayDataSet">
<FailCurrectWayDataSet>
<xsl:apply-templates select="FailCurrectWay"/>
</FailCurrectWayDataSet>
</xsl:template>
<xsl:template match="FailCurrectWay">
<FailCurrectWay>
<xsl:attribute name="FailCurrectWayName">
<xsl:apply-templates select="FailCurrectWayName"/>
</xsl:attribute>
</FailCurrectWay>
</xsl:template>
</xsl:stylesheet>
4、有了这个文件,用户在选择XML文件后,然后选择转化文件即可,此时无须写XPath。
5、最后选择DataTextField以及DataValueField即可。