Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Re: How to configure MSXML2::IXMLDOMDocument to emit UTF8 entities instead of UTF16 characters and indent [Thread Next] Re: How to configure MSXML2::IXMLDOMDocument to emit UTF8 entities instead of UTF16 characters and indentTo: NULL Date: 1/1/2009 2:22:00 PM Siegfried Heintze wrote:
>> IOW use the above code (converted to C++) but with encoding="US-ASCII".
>>
>
> MSXML2::IXMLDOMProcessingInstructionPtr pi=
> dom.pDoc_->createProcessingInstruction(
>
> L"xml", L"version=\"1.0\" encoding=\"US-ASCII\"");
>
> dom.pDoc_->appendChild(pi);
>
>
>
> Hmmm... it works in that I am getting entity encoding but I'm still not
> getting the processing instruction!
>
> What a strange API. It must parse the second argument to figure out what I
> want -- I would not have guessed (obviously!).
>
> Any ideas on how I get the <?xml...?> tag to appear?
I tried the following with MSXML 6 (and JScript but that should not
matter, you would just need to translate the API calls to C++):
var doc = new ActiveXObject('Msxml2.DOMDocument.6.0');
doc.appendChild(doc.createProcessingInstruction("xml", "version=\"1.0\"
encoding=\"US-ASCII\""));
doc.appendChild(doc.createElement("foo"));
doc.documentElement.text = "Testing umlauts: äöü";
doc.save("test2009010101Output.xml");
The resulting XML document has the XML declaration and escapes the
non-ASCII characters with character references:
<?xml version="1.0" encoding="US-ASCII"?>
<foo>Testing umlauts: äöü</foo>
So that looks fine to me. Are you not using the save method to save your
MSXML DOM document?
--
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
