ExcelをXMLで書き出したものをWEBで扱う時の注意
XMLをjQueryで扱う練習をする際に、Excelでデータを作ってそれを元にデータを読み込むものをつくっていたのですが、単純にExcelをXMLで書き出しただけだと、jQueryを使ってもIEで読み込むことができない…
なぜ!?
単純なことだったのですが、ものすごく発見に苦労したのでメモのためにエントリーしておきます。
IEで読み込みに失敗していた原因
読み込めない原因をスクリプト側だと思い、ずっとスクリプトを修正したりしまくっていたのですが、いくら時間をかけていろんなことを試してみてもIEでだけ読み込めない。
なので、XMLをダイレクトに表示させたらどうなるのかを試してみたら…なんとXML自体が開かなかった!!これはいくらスクリプト側を修正してもIEで見れないわけだ。
Excelで書き出したXMLの修正
XMLに問題があるのならば、XML側を修正するしかない。しかしどこを修正していいのかわからない。とりあえずXMLを他のブラウザで開いてみたところ、かな文字が化けている。ということは文字のエンコード関係がうまく認識されていないのではないかと思って、頭を見てみると下記のようにXML宣言がされていた。
■before
<?xml version="1.0"?>
XML宣言はされていたのですが、あるべきはずのエンコード指定がない。ということでつけてみた。
■after
<?xml version="1.0" encoding="Shift-JIS" ?>
これをつけただけでIEでも開けるようになった!!!jQueryからでも読み込めるようになったので、とりあえず一安心。
次回はXMLを加工した例でも書いてみようかなと思う。
関連エントリー: