我正在使用 access-vba 撰寫一個 xml 檔案。
Dim dDokument As MSXML2.DOMDocument60
Set dDokument = New MSXML2.DOMDocument60
Dim environmentalDataNode As IXMLDOMElement
Set environmentalDataNode = dDokument.createElement("mainnode")
'...Adding some stuff
Call dDokument.save("c:\Temp\test.xml")
這寫了一個很好的xml
但是我必須在我的 xml 的開頭有這兩行。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://secure.umweltbundesamt.at/h2o/xml/uba_schnittstellen.xslt"?>
但是當我使用上面的代碼時,它們并沒有被寫入。
那么,如何將 xml 和 xml-stylesheet 節點添加到我的 DOMDocument60 中?
uj5u.com熱心網友回復:
<?xml-stylesheet type="text/xsl" href="https://secure.umweltbundesamt.at/h2o/xml/uba_schnittstellen.xslt"?>是您可以用 eg 創建的處理指令Set pi = dDokument.createProcessingInstruction("xml-stylesheet", "type=""text/xsl"" href=""https://secure.umweltbundesamt.at/h2o/xml/uba_schnittstellen.xslt""")(我希望我有正確的 VB 語法來轉義雙引號和賦值),然后用 eg 插入dDokument.insertBefore(pi, dDocument.documentElement)。
您顯示的第一項是 XML 宣告。它通常不是使用 DOM 方法作為節點創建的,而是在檔案樹的序列化/保存期間添加的,就像由save方法完成的那樣。您save()在最后使用時沒有添加 XML 宣告(使用默認編碼 UTF-8)嗎?
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms755439(v=vs.85)建議在 MSXML 的背景關系中,XML 宣告雖然在技術上不是處理指令APIs,仍然可以用Set dec = dDocument.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""")(當然也可以用 插入dDocument.insertBefore(dec, dDocument.firstChild))來創建。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/396655.html
