【发布时间】:2016-03-15 19:42:54
【问题描述】:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ICDBConnectionString"].ConnectionString);
conn.Open();
string SQL = "Select TUReportData from TUReport WHERE ConsumerID = @ConsumerID";
SqlCommand cmd = new SqlCommand(SQL, conn);
cmd.Parameters.Add(new SqlParameter("@ConsumerID", txtIDNumber.Text));
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
dt.TableName = "XMLData";
dt.ToString();
dt.WriteXml("C:/inetpub/wwwroot/TUWebServiceCaller/Log/temp.xml");
// Getting file path
string strXSLTFile = Server.MapPath("styles/style.xslt");
string strXMLFile = Server.MapPath("Log/temp.xml");
// Creating XSLCompiled object
XslCompiledTransform objXSLTransform = new XslCompiledTransform();
objXSLTransform.Load(strXSLTFile);
// Creating StringBuilder object to hold html data and creates TextWriter object to hold data from XslCompiled.Transform method
StringBuilder htmlOutput = new StringBuilder();
TextWriter htmlWriter = new StringWriter(htmlOutput);
// Creating XmlReader object to read XML content
XmlReader reader = XmlReader.Create(strXMLFile);
// Call Transform() method to create html string and write in TextWriter object.
objXSLTransform.Transform(reader, null, htmlWriter);
Results.InnerHtml = htmlOutput.ToString();
// Closing xmlreader object
reader.Close();
运行时没有错误,但 XSLT 似乎没有对 XML 进行样式设置,因为它以与其传入的相同格式返回。整个 xml 应该重新格式化,并且我自己的整个页面版本与节点一起显示我已经指定到位了
XSLT 这就是 XSLT 示例
<xsl:for-each select="AddressNA08">
<tr>
<td>
<xsl:value-of select="ConsumerNo"/>
</td>
<td>
<xsl:value-of select="InformationDate"/>
</td>
<td>
<xsl:value-of select="Line1"/>
</td>
<td>
<xsl:value-of select="Line2"/>
</td>
<td>
<xsl:value-of select="Suburb"/>
</td>
<td>
<xsl:value-of select="City"/>
</td>
<td>
<xsl:value-of select="PostalCode"/>
</td>
<td>
<xsl:value-of select="ProvinceCode"/>
</td>
<td>
<xsl:value-of select="Province"/>
</td>
<td>
<xsl:value-of select="AddressPeriod"/>
</td>
<td>
<xsl:value-of select="OwnerTenant"/>
</td>
<td>
<xsl:value-of select="AddressChanged"/>
</td>
</tr>
</xsl:for-each>
XML
<AddressNA08>
<ConsumerNo>645511310</ConsumerNo>
<InformationDate>20090227</InformationDate>
<Line1>8 HAAKBOS ST</Line1>
<Line2 />
<Suburb>ONVERWACHT</Suburb>
<City>ELLISRAS</City>
<PostalCode>0557</PostalCode>
<ProvinceCode>
NP
</ProvinceCode>
<Province>LIMPOPO</Province>
<AddressPeriod>
06
</AddressPeriod>
<OwnerTenant>O</OwnerTenant>
<AddressChanged>N</AddressChanged>
</AddressNA08>
这些是我正在使用的所有文件
【问题讨论】:
-
如果这是一个 XSLT 问题,请显示输入 XML 文档的示例并显示
style.xslt样式表。 -
这里可以附加文件吗
-
Xml 示例
645511310 20090227 8 HAAKBOS ST ONVERWACHT ELLISRAS 0557 NP LIMPOPO 06 O N -
不,这里不可能附加文件。并且请不要链接到场外资源。将您的示例 XML 和 XSLT 样式表缩减为 minimal, complete and verifiable example 并将它们编辑到您的问题中。
-
您好,我很好奇...我的回答对您解决问题有帮助吗?