Home > Tips Archive

Tips Archive

AS3でShift-JISのXMLを読み込むと、エラーになったりならなかったりする

  • Posted by: nakamura
  • 2010年1月 5日 15:45
  • Tips
as3で読み込むXMLは、Shift-JISにしないで、UTF-8にしたほうがいい。

おなじみ、System.useCodePage=trueで読み込めるのですが、
AS3だと、読み込むと、謎のゴミが文末にできて、(しかもできたりできなかったりする)
それがパーサエラーになる。
特に、複数読み込むと、本当ひどいありさま。
ググっても、あまりよい文献が出てこなかったので、まとめ。

SimpleXMLLoaderクラス

いきなり金字塔かと思いきや、ぼくの場合、古臭いXMLDocumentクラスを使っていたので、
読み込んだXMLをストリングに直して、またXMLDocumntをしてパースしなおすときに、
エラーこいてしまった。

ちなみにXMLDocumentクラスも使わない方がいい(使ってるのオレだけか)

XMLデータの末尾にゴミがついた時の対処法

これはすごく強引で、最後の閉じタグを検索して、そこの間だけを抜き取ってXML化する、というやりかた。
シンプルだけにわかりやすい。

で、さらにぼくの場合、複数のXMLを読み込んだ中身が混在しているといった事態が沖田総司。

XML1 <tree> --------あーたらこーたら-------------------------------どーたら-----</tree>
XML2 <tree> --------あーたらこーたら-----------------</tree>

XML2を見ると、</tree>が2個入っているんである。つまり、
XML2 <tree> --------あーたらこーたら-----------------</tree>----どーたら-----</tree>
となっていた。

てことで、

System.useCodePage = true;  
 
var urlLoader:URLLoader = new URLLoader(); 
urlLoader.addEventListener(Event.COMPLETE, loadCompleteHandler); 
urlLoader.load(new URLRequest("ファイル名")); 
 
var endTag:String = "一番最後の閉じタグ"; 
var xml:XML; 
function loadCompleteHandler(event:Event):void { 
    var data:String = event.target.data; 
    xml = new XML(data.substring( 0, data.IndexOf(endTag) + endTag.length));  
}

こうした。
これも対症療法だから、もうShift-JISはやめたほうがいいみたいですね。

Boot Camp ドライバがない人のために

  • Posted by: nakamura
  • 2009年6月 7日 17:47
  • Tips

MacBook Proとかを買ったら、まず思うのが「とりあえずBoot Campにしておくか」ということ。

でも、そんなときに限って、XP SP3のCDがあっても、Leopardのインストールディスクがなかったりする。

なのに、Windowsのインストールが完了してしまったら地獄で、

ネットにもつながらない、640*480しか表示できない糞Windowsマシンになりさがる。

Boot campのドライバは、いくら探しても、アップルのページにはない。

 

で、ここ。

http://thepiratebay.org/torrent/3860505/BootCamp_2.0_(Leopard)_Windows_drivers

 

ワレズじゃないんだけど、ドライバを共有してくれている人がいます。

日本語環境でも、まったく問題なく使えますよ。

Index of all entries

Home > Tips Archive

Search
Feeds

Return to page top