属性は文字バケする
2バイト文字が混ざっているxml書類でも、属性以外はtextDecodeを使うことで文字化けせずに表示することが出来ます。けれども属性部分は文字化けしてしまうので、それを解消することが出来ないか考えてみました、

xml書類を読み込んで左側フィールドに表示します。それを解析して右側フィールドに表示して読みやすくしようと言う考えです。解析ボタン用に作ったスクリプトが以下。
on mouseUp pButtonNumber
--xmlデータから読み込む
put field "data" into myData
put empty into field "data2"
put textEncode(myData,"utf8")into tmyData
put revCreateXMLTree(tmyData,false,true,false) into gDataTree
put gDataTree into field "dataID"
put revXMLRootNode(gDataTree)into gDRoot
--1段目の子供をすべて得る
put revXMLChildNames(gDataTree, "/", return, ,true )into nF1Child
put the number of lines of nF1Child into lnF1Child
repeat with x=1 to lnF1Child
get line x of nF1Child--ノードを得る
put textDecode (it,"utf8") after lineUp
put gDRoot&"/"&it into tliNode--これはエンコードしない
--属性を得る
put tab&textDecode(revXMLAttributes(gDataTree, tliNode, tab, return),"utf8") after lineUp
--内容を得る
put tab&textDecode(revXMLNodeContents(gDataTree, tliNode),"utf8")& return after lineUp
--ここまでが1段目
--この子の子があるかどうか調べる
put revXMLChildNames(gDataTree, tliNode, return, ,true )into nF2Child
put the number of lines of nF2Child into lnF2Child
--ここから2段目
repeat with y=1 to lnF2Child
get line y of nF2Child
put tab&tab&tab&textDecode (it,"utf8") after lineUp
put tliNode&"/"&it into tl2Node
put revXMLAttributes(gDataTree, tl2Node, tab, return) into magoAtt
--エラーがでたらリピートを抜ける
if magoAtt contains "xmlerr" then exit repeat
put tab&textDecode(magoAtt,"utf8") after lineUp
put tab&textDecode(revXMLNodeContents(gDataTree, tl2Node),"utf8")& return after lineUp
end repeat
end repeat
put lineUp into field "data2"
end mouseUp
左側フィールドに変更を加えて、それを保存した場合、LiveCodeがバイナリに直してくれますので、日本語で属性を書き換えても大丈夫です。ちょっとしたデータの手直しには使えるかもしれませんね。また、階層が深い場合はここに3段目、4段目を加えていけばよいでしょう。
