2011-06-14 48 views
0

我需要以下问题的帮助。我解析XML并进行XSLT转换。 Stylus Studio一切都很好。但有了ASP.NET,我无法解析和输出。XSLT转换的ASP.NET问题

min.aspx.vb

Imports System.Xml 
Imports System.Xml.XPath 
Imports System.Xml.Xsl 
Imports System.IO 


Partial Class Poseidon_min 
    Inherits System.Web.UI.Page 


    Protected Sub Literal1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Literal1.PreRender 

     Dim strXSLTFile As String = "http://www.kiris-alinda.de/Poseidon/Hotelangebote.xslt" 
     Dim strXMLFile As String = "http://www.kiris-alinda.de/Poseidon/PosXMLReq/PosXMLReqSearch.php?htc=AYTLIND" 



     Dim reader As XmlReader = XmlReader.Create(strXMLFile) 

     Dim objXSLTransform As New XslCompiledTransform() 

     objXSLTransform.Load(strXSLTFile) 

     Dim htmlOutput As New StringBuilder() 

     'Dim htmlWriter As TextWriter = New StringWriter(htmlOutput) 

     'objXSLTransform.Transform(reader, Nothing, htmlWriter) 


     Me.Literal1.Text = htmlOutput.ToString() 

     reader.Close() 

    End Sub 
End Class 

为什么不能输出<xsl:value-of select="PosXmlResponse/search/date/@min"/>从ASP.NET中的XSLT?

+0

我看了看源代码XML,它具有''这样你所拥有的XSLT只能输出空串。 – 2011-06-14 10:41:43

回答

0

在此请看:

XML/XSLT Transformation

你必须ASPX页面上使用XML服务器控件,然后设置XSLT转换

+0

XML服务器控件不支持url xml only local。或者我错了? – user168507 2011-06-14 10:44:46

+0

您可以使用DocumentSource指定远程URL ... http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.xml.documentsource(v=vs.85).aspx – 2GDev 2011-06-14 11:04:10

+0

在.net 2.0远程URL是不可能的,因为我记得。当你的tipp最接近解决方案时,我将其标记为已接受的答案。 – user168507 2011-06-14 11:14:41

0

我用这个代码:

Public Shared Function Transform(xml As String, xsl As String, argsList As XsltArgumentList) As String 
    Dim selectedXml As XDocument = XDocument.Parse(xml) 
    Dim xmlTransform As New XslCompiledTransform() 

    Dim htmlOutput As New StringBuilder() 
    Dim writer As XmlWriter = XmlWriter.Create(htmlOutput) 

    xmlTransform.Load(New XmlTextReader(New StringReader(xsl))) 
    xmlTransform.Transform(selectedXml.CreateReader(), argsList, writer) 

    Return htmlOutput.ToString() 
End Function 
+0

thx为您的反馈。这与asp.net 2.0的工作?我有ProDbs与XDocument。哪些是未知的。是否有额外的@imports? – user168507 2011-06-14 10:28:18