Thanks for the reply.
I appreciate the education the people on this list provide.

I was already doing the XMLDOMParser #onFileNamed: to open the file.
It was showing the correct #encoding for the parsed file.
It was just the writing of the nearly identical file which was different.
I tried as you wrote #printToFileNamed:    and it did as you explained.

Thanks again.

Jimmie

On 09/15/2017 09:29 AM, monty wrote:
If you want to write a DOM tree to a file, send #printToFileNamed: (or a related message like 
#canonicallyPrintToFileNamed: or #printToFileNamed:beforeWritingDo:) to the root. See the 
XMLNode "printing" category for more. This will automatically encode the file with 
the encoding the XMLDocument>>#encoding attribute specifies (if recognized), and it's 
portable across Pharo, Squeak, and GemStone. Use #parseFileNamed:/#onFileNamed: to get portable 
automatic file decoding when parsing.

Sent: Wednesday, September 13, 2017 at 1:02 PM
From: "Jimmie Houchin" <jlhouc...@gmail.com>
To: "Any question about pharo is welcome" <pharo-users@lists.pharo.org>
Subject: [Pharo-users] Writing XML

Hello,

I am attempting to read and write an XML document.

Currently I have parsed the document successfully. I have basic
navigation and have learned how to modify the XMLDocument.

Now I want to write the modified document back to the file system.
What I have tried so far is:

writer := XMLWriter new.
xmldoc document writeXMLOn: writer.
writer stream.
f := File openForWriteFileNamed: '/home/jimmie/xmldoc.xml'.
f nextPutAll: (writer write contents).
f flush.
f close.

It does write an xml document to the file system. However, it has
exploded in size. The original is 28mb and is in UTF-8. The newly
written file is 112mb and is UTF-32.

I do not know why the change in encoding or how to correct or manually
set the encoding.

Any help in understanding how to correctly write an XML document that I
have read and minimally modified would be greatly appreciated.

Thanks.

Jimmie




Reply via email to