XML」の使い方を説明します。UTF-16には対応しているがShift_JISに対応していない。普通にSJISで書いたXMLを読み込ませるとパースエラーが出てしまう。Shift_JIS読み込みができるようにcUnicodeCodecsを書き換えてみました。動いているように見えます。おいて置いておきます。オリジナルから変更・追加されたのは以下の通りTShiftJISCodecクラスを追加した。変換に依存する「手抜き」コードです。日本語Windows環境ではたぶん動くような気がしています。Utilities)と、Xdom_3_1Delphi?.dpkを構築してインストールすればよい。XDOM_3_1_Reg.pasの2ファイルを抜いて作成する必要がある。一般に、OpenXMLでは、TDomImplementationコンポーネントを置いて使う。TXmlToDomも、ともにDomImplementationプロパティをセットしないと動かない)重要なことは、TXmlToDomが作成するTDomDocumentは、DomImplementationによって管理されるということである。DomImplementationがFreeされるときに、管理リスト内のドキュメントを解放してくれる。DomImpl.を含むデータモジュールがすぐに解放されるのであれば、DomDocumentのスコープを意識してFreeする必要がない。DomDocumentの解放の仕方DomImplementationの管理下から先にドキュメントを引き剥がして削除するにはDomImplementation.freeDocumentメソッドを使う。これを呼ばずに直接Document.Freeをしてしまうと、DomImpl.のデストラクタの中で二重Freeとなってエラーが発生する。TXmlImplementationと一緒にTXmlToDomParserコンポーネントを配置。Parserのメンバメソッドを使う。使うメリットとして、XPathが使えることは大きい。end;注意!!(めちゃくちゃハマル)OpenXMLのXPath検索は、NameSpace(名前空間)が宣言されているドキュメントでなければ名前検索が正しく動かない。TDomAttributeのコンストラクタに以下の変更を加える必要がある。node.appendChild(elem);接ぎ木:サブノードを含めて全体につなぐ。ownerドキュメントが異なるノード同士はapendChildできない。かわりにimportNodeを使ってノード単独もしくはサブノードを再帰的に含めたコピーを行う。