扱う場合の留意点(苦労話)をご紹介します。方法論として体系だったものになっていないのですが、処理をする際になかなか情報が見つからなかったので、参考として未完成のまま公開していきたいと思います。色々な問題が多少は改善されているかも知れません。モジュールが使用されていることが殆どです。エンコードされたマルチバイト文字が出てくると、(多分大体)そこでエラーになります。指定がしてあっても同じです。扱うとエラーになる、という場合はこれを疑って見て下さい。使用するのが簡単です。中にパックするためのコードは、以下の通りです。$xs->XMLin('filename.xml');上記のようにパックした構造体から値を取り出すには、以下のようにします。'</toptag>';等とします。形式のコードにしてくれます。XML宣言を自動で付けたり、ファイルに直接書き出すこともできます。書き出しの際、違う名前の兄弟ノードの順番は指定できません。内部ではハッシュとして情報を格納しているので、その順番が記録できない。エンコーディングを適切に指定できる適当な手段が見つからない。いう点が挙げられます。'newvalue';としてやれば良いのですが、これが日本語だとうまくいきません。文などでファイルに書き出すことはできても、上記のように構造体の中に代入すると、これを書き出した時は文字化けしました。$code_number);とするくらいしか手段が見つからなかったのですが、これだとコードが既知の文字しか使えないので、実用にはなりません。手っ取り早い」という結論になりました。最初に書いた「扱うXMLの構造が『シンプル』ならば」という条件の要点は、以下の2点となります。ファイルサイズのXMLは何とか解析できました。ついては、例を挙げると以下のとおりです。文で書き出す場合でも、文字化けする文字があります(例えば「﨑」など。表されるコードの文字付近に問題が出やすいようです。変換を行う場合以下のモジュールで解決できました。使用すると文字化けしていた文字については問題が解消された、ということですが。方は、現状未解決のままです。(文字化けする文字が出てこない事を祈るくらい...^^;)【参考:「文字コード」と「文字集合」などの説明】コード変換時に文字化けが起こるという現象の基本的な説明として分りやすいページでした。業務システム(特に名刺情報を扱うようなシステム)を作るとしばしば必要になるのが、「英数字の全角半角変換」です。入力形式チェックのためにユーザの入力の正規化を行ったり、「数字の入力は半角だが、印刷する時は読みやすいように全角にする」など、色々な場面で必要になります。メールアドレスなどが多いですが、この時厄介なのが、ハイフンの変換です。メソッドを使用して全角ハイフンを半角ハイフンに変換するとこのような文字化けする半角ハイフンに変換されます。画面上は変換されたように見えますが、いわゆる半角ハイフンにはなっていません。デコード+半角変換結果がいわゆる半角ハイフンにならない、という問題があったような気がします。これもおそらく根が同じ問題でしょう。送信ではそのような問題は出ませんでした。変換はできない、困ったなあということで、以下のような関数(package)を作りました。ベタベタですが、漢字やひらがななどが混在する場合の変換もできました。「@」マークなど、他に変換が必要な文字があれば、指定を追加して使って下さい。