タグ

ブックマーク / kishi.hatenadiary.org (1)

  • RSSをパースするときの制御文字への対処 - public static void main

    DOMを使ってRSSをパースしているとたまに以下のエラーがおきることがあります。(Livedoorブログ、FC2、Amebaブログとかが多い) An invalid XML character (Unicode: 0x14) was found in the element content of the document.Unicode: 0x14の部分は0xbだったりいろいろです。 原因は、絵文字を使っていたり、文字化けしたりといったことによって制御文字が挿入されたためのようです。 ASCIIコードでは0x00〜0x1Fと0x7Fのコード範囲が制御文字になり、これが含まれているXMLはinvalidになるようです。 Javaの場合、RSSをパースする前に以下のようにこの制御文字を削除しました。 str.replaceAll("[\\00-\\x1f\\x7f]", ""); 上記のコード

    RSSをパースするときの制御文字への対処 - public static void main
  • 1