[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?

  • From: "Joseph P. Johnson (charter)" <joej@c...>
  • To: xml-dev@l...
  • Date: Fri, 31 Aug 2001 16:33:48 -0400

createprocessinginstruction encoding
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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.