[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How to specify a Processing Instruction using MSXML?
I hope this will help when dealing with encoding issues with MSXML. This is from How to Encode XML Data by Chris Lovett Microsoft Corporation March 2000 http://msdn.microsoft.com/library/default.asp?URL=/library/en-us/dnxml/html/ xmlencodings.asp I'll quote the pertinent part: =================================start quote==== "To change the encoding that the XML DOM Save method uses, you need to create an XML declaration with an encoding attribute at the top of your document as follows: var pi = xmldoc.createProcessingInstruction("xml", " version='1.0' encoding='ISO-8859-1'"); xmldoc.appendChild(pi); When you call the save method, you will then get an ISO-8859-1 encoded file as follows: <?xml version="1.0" encoding="ISO-8859-1"?> <test>å</test> Now, be careful you don't let the XML property confuse you. The XML property returns a Unicode string. If you call the XML property on the DOMDocument object after creating the ISO-8859-1 encoding declaration, you will get the following Unicode string back: <?xml version="1.0"?> <test>å</test> Notice that the ISO-8859-1 encoding declaration is gone. This is normal. The reason it did this is so that you can turn around and call LoadXML with this string and it will work. If it does not do this, LoadXML will fail with the error message: "Switch from current encoding to specified encoding not supported." ==================end quote===== I loaded up VB6 and referenced msxml2.dll and slapped this code in a button. Dim AccessLicXml As MSXML2.DOMDocument Dim vCodePage As Variant dim pi as Variant vCodePage = "version='1.0' encoding='ISO-8859-1'" Set AccessLicXml = New MSXML2.DOMDocument Set pi = AccessLicXml.createProcessingInstruction("xml", vCodePage) ' AccessLicXml.appendChild pi AccessLicXml.save "c:\teststuff\myXML.xml" ' the save method writes this fragment out as it will appear ' when the document is saved ' <?xml version="1.0" encoding="ISO-8859-1"?> MsgBox AccessLicXml.xml ' shows xml missing the encoding but it is stored and output by the save 'method Joe Johnson xml@j...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|