- - PR -
DOMでロードしたデータに含まれるスペースについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-05-26 15:21
開発環境
VC7++、Xerces2.6.1 XML文書を読み込んで属性を追加するプログラムを作成しています。 上記のプログラムで作成されたXMLをテキストエディター等で開くと、 すべての文字と文字の間にスペースが入ったものになってしまいます。 (ブラウザソフトでは開くことができません) こんな感じです。 <TAG> ⇒ < T A G > このスペースが入らない方法はありますか? XMLについては初心者なのでSampleプログラムのDOMPrintを元に作成しました。 Sampleプログラムを実行するとXMLをメモリに読み込んだときすでにスペースが 入ってるようです。 よろしくお願いします。 |
|
投稿日時: 2005-05-26 17:16
出力を バイナリ・エディタで表示して
スペース ? を確認します。 メモ帳では、x20 と x00 の見た目は同じです [ メッセージ編集済み 編集者: MMX 編集日時 2005-05-26 17:20 ] |
|
投稿日時: 2005-05-26 17:58
MMXさん 返信ありがとうございます。
バイナリ・エディタで見たところx00でした。 私の説明がへたくそで申し訳ないです。 ソースは、(抜粋ですが) XMLの読み込み XercesDOMParser *parser = new XercesDOMParser; parser->parse(aaa.xml); doc = (DOMNode*)parser->getDocument(); XMLの書き出し XMLCh tempStr[100]; XMLString::transcode("LS", tempStr, 99); DOMImplementation *pImpl=DOMImplementationRegistry::getDOMImplementation(tempStr); DOMWriter *theSerializer = ((DOMImplementationLS*)pImpl)->createDOMWriter(); XMLFormatTarget *myFormTarget; myFormTarget = new LocalFileFormatTarget(bbb.xml); theSerializer->writeNode(myFormTarget, *doc); としたときに作成されるbbb.xmlの中身が < ? x m l v e r s i o n = " 1 . 0 " この様になってしまいます。 スペースが入らないようにXML書き出しをすることは可能でしょうか |
|
投稿日時: 2005-05-27 03:32
それって単にut-16で出力されているだけのように思えます。
ファイル出力のエンコーディングを調整してみてはどうでしょう。 |
|
投稿日時: 2005-05-30 09:48
ご指摘の通りUTF-16でエンコーディングされたXMLファイルだったようです。 メモ帳では問題なくみえてました。 MMXさん、Atsushi.Enoさん どうもありがとうございました。 |
1