2011-06-14 52 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