我有一些XML由我的应用程序构建。 这个XML是下降到一个XML文件,然后我想,以将其转换为HTML页面的XSL样式表申请。 然而,每一次,它只是不断走出原始XML,而不是转换后的HTML
下面是XML:
<firelist>
<visitor>
<Title>Mr</Title>
<Forename>Gregory</Forename>
<Surname>House</Surname>
<Visiting>asasasas</Visiting>
<VisitTime>11:41</VisitTime>
<PurposeOfVisit>asasasasa</PurposeOfVisit>
<BadgeID>a</BadgeID>
<Campus>KWA</Campus>
<VisitingFrom>Princeton-Plainsboro Teaching Hospital</VisitingFrom>
<ImagePath>\\more\DataCard\VisitorPhotos\V0004.jpg</ImagePath>
</visitor>
</firelist>
这里是样式表:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="visitor">
<xsl:value-of select="title"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
这里是做转换的代码:
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:
<?xml version="1.0" encoding="utf-8"?>
<firelist>
<visitor>
<Title>Dr</Title>
<Forename>James</Forename>
<Surname>Wilson</Surname>
<Visiting>bob</Visiting>
<VisitTime>11:30</VisitTime>
<PurposeOfVisit>dunno</PurposeOfVisit>
<BadgeID>4</BadgeID>
<Campus>KWA</Campus>
<VisitingFrom>Princeton-Plainsboro Teaching Hospital</VisitingFrom>
<ImagePath>\\more\DataCard\VisitorPhotos\V0005.jpg</ImagePath>
</visitor>
</firelist>
XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/firelist">
<html>
<body>
<xsl:for-each select="visitor">
<xsl:value-of select="title"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我仍然只得到原始的XML输出到我的HTML文件,而不是这将导致从XML / XSLT转换的HTML。