У меня есть документ XML, который генерируется из информации о базе данных. У меня также есть отдельный XMLT-файл. Мне нужно использовать VB.NET для вставки XSL-ссылки в XML-документ. Я получаю его вставленным, но он вставляет неправильное место. Мне нужно это в заголовке, но он помещает его после корневого узла.Добавить инструкцию обработки xml-stylesheet непосредственно перед корневым элементом
Вот код, я использую для вставки инструкции обработки 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, поэтому, если кто-то откроет X ML, он появляется в браузере, используя отправленный с ним XSLT-файл.