我有一个从数据库信息生成的 XML 文档。我还有一个单独的 XMLT 文件。我需要使用 VB.NET 将 XSL 链接插入 XML 文档。我正在插入它,但它插入错误的位置。我需要它在标题中,但它把它放在根节点之后。
这是我用来插入 xml-stylsheet 处理指令的代码:
Dim fiFilePath As String = Me.CSFileName
Dim xmlCs As XmlDocument = Nothing
Try
xmlCs = New XmlDocument()
xmlCs.Load(fiFilePath)
' update the XSLT path as per the 'newStyleSheetPath' argument
xmlCs.DocumentElement.PrependChild(xmlCs.CreateProcessingInstruction("xml-stylesheet", String.Format("type={0}text/xsl{1} href={2}{3}{4}", Chr(34), Chr(34), Chr(34), newStylesheetPath, Chr(34))))
'Save the created document
xmlCs.Save(fiFilePath)
Catch ex As Exception
xmlCs = Nothing
fiFilePath = Nothing
Throw ex
End Try
这是该代码输出的内容:
<DocumentRoot>
<?xml-stylesheet type="text/xsl" href="APSCS.xsl"?>
<realmCode code="US" />
但它必须是:
<?xml-stylesheet type="text/xsl" href="APSCS.xsl"?>
<DocumentRoot>
<realmCode code="US" />
这都是 XSLT 与 XML 打包在一起的导出的一部分,因此如果有人打开 XML,它会使用与它一起发送的 XSLT 文件出现在浏览器中。