我有一些由我的应用程序构建的XML。这个XML被放到一个XML文件中,然后我希望将XSL样式表应用到其中以将其转换为HTML页面。但是,每一次,它都会继续使用原始XML而不是转换后的HTML
这里是XML:
MrGregory
House
asasasas
11:41
asasasasa
a
KWA
Princeton-Plainsboro Teaching Hospital
\\more\DataCard\VisitorPhotos\V0004.jpg
这是样式表:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
这里是进行转换的代码:
Dim document As XmlDocument ''# Xml document root
Dim navigator As XPathNavigator ''# navigate document
Dim transformer As XslTransform ''# transform document
Dim output As StringWriter
document = New XmlDocument()
document.Load("firelist.xml")
''# create navigator
navigator = document.CreateNavigator
''# load style sheet
transformer = New XslTransform()
transformer.Load("firelist.xslt")
''# transform XML data
output = New StringWriter()
transformer.Transform(navigator, Nothing, output)
''# display transformation in text box
Console.WriteLine(output.ToString)
''# write transformation result to disk
Dim stream As FileStream = New FileStream("firelist.html", FileMode.Create)
Dim writer As StreamWriter = New StreamWriter(stream)
writer.Write(output.ToString)
''# close streams
writer.Close()
output.Close()由于我对XSL和.NET做了任何事情,所以我确信我可能错过了一些明显的东西!
更新:
下面是代码,因为它目前代表下面的建议所做的修改后的代码...
代码隐藏:
Dim document As XmlDocument ' Xml document root
Dim navigator As XPathNavigator ' navigate document
Dim transformer As XslCompiledTransform ' transform document
Dim output As StringWriter
document = New XmlDocument()
document.Load("firelist.xml")
' create navigator
navigator = document.CreateNavigator
' load style sheet
transformer = New XslCompiledTransform()
transformer.Load("firelist.xslt")
' transform XML data
output = New StringWriter()
transformer.Transform(navigator, Nothing, output)
' display transformation in text box
Console.WriteLine(output.ToString)
' write transformation result to disk
Dim stream As FileStream = _
New FileStream("firelist.html", FileMode.Create)
Dim writer As StreamWriter = New StreamWriter(stream)
writer.Write(output.ToString)
' close streams
writer.Close()
output.Close()XML:
DrJames
Wilson
bob
11:30
dunno
4
KWA
Princeton-Plainsboro Teaching Hospital
\\more\DataCard\VisitorPhotos\V0005.jpg
XSLT:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
我仍然只是将原始XML输出到我的HTML文件,而不是通过XML/XSLT转换产生的HTML。