我向sql server发出了一个查询请求,其中“FOR XML AUTO,type,elements,root('root')”附加在我的查询末尾。我发布了一个da.Fill(ds)[到一个数据集],没有任何问题。现在我有了数据,我想把它转换成HTML。
所以我用过:
Dim XMLString As String = ds.GetXml()
将我的数据转换为字符串。这是我的问题的确定!!
然后我去了:
strHTMLDetails = GetHtml(Server.MapPath("~/TEO.xslt"), XMLString)
将xsl(在我的项目中)和xmlstring传递给sub。
然后我的代码如下:
Dim stream As New MemoryStream(ASCIIEncoding.Default.GetBytes(XMLString)
Dim document As New XPathDocument(stream)
Dim writer As New StringWriter()
transform.Load(xsltPath)
transform.Transform(document, Nothing, writer) <====== Here's my error:
无法从已加载的输入文档中删除空白区域。改为将输入文档作为XmlReader提供。
我不明白什么是错的或如何解决它。请帮帮忙?
谢谢你, hlpearl
答案 0 :(得分:0)
TEO.xslt在任何地方使用xsl:strip-space
吗?如果是这样可能是你的问题。
您可以在此处阅读原因:http://msdn.microsoft.com/en-us/library/ms163434.aspx
答案 1 :(得分:0)
是的,我有“
当我删除它时,我没有上述问题,但我也没有得到任何转换。
当我在我的批次路由中尝试此操作时,如下所示: 将XMLString变暗为string = ds.GetXML() 将xsl1调暗为新的XSLCOmpliledTransform() xsl1.Load(Ctype(ServerMapPath(“〜/ TEO.xslt,String)&lt; =这是我的项目xslt xsl1.Transform(XMLString,“C:.... \ testteo.HTML)&lt; =错误
我收到一个无效的URI:Uri方案太长了。
我的数据集dat如下所示: .root..t1..TEO_SEQ_NO.1。/ TEO_SEQ_NO。这似乎是正确的数据。 谢谢, Hlpearl