日期:2014-05-17  浏览次数:20788 次

熟悉 XSLT的兄弟,麻烦帮忙看看,如何将DataSet 按照xslt模板保存为XML文件
本帖最后由 kaixin2015 于 2013-06-20 21:56:35 编辑
有一个DataSet :public DataSet ds = new DataSet("BOSettings");
其中有一张表:DataTable dtDb = new DataTable("DataBaseConfig");

然后我定义的xslt文件如下:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="BOSettings/DataBaseConfig">
  <xsl:element name="DataBaseConfig">
      <xsl:attribute name="SYS_ID">
        <xsl:value-of select="SYS_ID"/>
      </xsl:attribute>
    <xsl:attribute name="DBType">
      <xsl:value-of select="DBType"/>
    </xsl:attribute>
  </xsl:element>
</xsl:template>
</xsl:stylesheet>


代码如下:

        public void Save(string sPath)
        {
            string xml = ds.GetXml();
            XDocument document = XDocument.Parse(xml);

            XslCompiledTransform xslTran = new XslCompiledTransform();
            xslTran.Load(@"XSLT/template.xslt");

            XmlTextWriter writer = new XmlTextWriter(sPath, System.Text.Encoding.UTF8);

            xslTran.Transform(document.CreateReader(), writer);
            writer.Close();
        }


但是得到的结果却是这样:
<DataBaseConfig SYS_ID="aaa" DBType="Oracle" /><DataBaseConfig SYS_ID="aaa" DBType="Oracle" />

缺少了XML标签。。另外不知道还有没有其他问题, 我对XSLT不熟,请大家帮忙看看。分不多了,请见谅。
?XSLT XML dataset

------解决方案--------------------

------解决方案--------------------
解决了希望可以把解决方案 分享出来,这样可以帮助到更多的人