2012-03-23 10 views
0

私が使用しているプログラムのリーダーを作っています。情報は、カスタムファイルタイプ(.BSMX)でエクスポートされます。メモ帳でファイルを開くと、XMLと構造が似ているタグがたくさんあります。私はあなたがデータをカスタムオブジェクトに格納してデータを使用するために、XMLファイルと同じようにファイルをどのように解析できるのだろうと思っています。Androidでカスタムファイルを解析する方法

編集:HERESにファイルのセクションとどのようにそのフォーマットされ、そのないXMLとdoesntのは、トップ

  <_MOD_>2012-03-23</_MOD_> 
      <F_E_NAME>FUggin Hiccups BIAB</F_E_NAME> 
      <F_E_MASH_VOL>896.0000000</F_E_MASH_VOL> 
      <F_E_TUN_MASS>35.2000000</F_E_TUN_MASS> 
      <F_E_BOIL_RATE_FLAG>1</F_E_BOIL_RATE_FLAG> 
      <F_E_TUN_SPECIFIC_HEAT>0.1200000</F_E_TUN_SPECIFIC_HEAT> 
      <F_E_TUN_DEADSPACE>0.0000000</F_E_TUN_DEADSPACE> 
      <F_E_TUN_ADJ_DEADSPACE>0</F_E_TUN_ADJ_DEADSPACE> 
      <F_E_CALC_BOIL>1</F_E_CALC_BOIL> 
      <F_E_BOIL_VOL>894.7200000</F_E_BOIL_VOL> 
      <F_E_BOIL_TIME>60.0000000</F_E_BOIL_TIME> 
      <F_E_OLD_EVAP_RATE>10.0000000</F_E_OLD_EVAP_RATE> 
      <F_EQUIP_39>1</F_EQUIP_39> 
      <F_E_BOIL_OFF>96.0000000</F_E_BOIL_OFF> 
      <F_E_TRUB_LOSS>128.0000000</F_E_TRUB_LOSS> 
      <F_E_COOL_PCT>4.0000000</F_E_COOL_PCT> 
      <F_E_TOP_UP_KETTLE>256.0000000</F_E_TOP_UP_KETTLE> 
      <F_E_BATCH_VOL>640.0000000</F_E_BATCH_VOL> 
      <F_E_FERMENTER_LOSS>64.0000000</F_E_FERMENTER_LOSS> 
      <F_E_TOP_UP>0.0000000</F_E_TOP_UP> 
      <F_E_EFFICIENCY>67.4000000</F_E_EFFICIENCY> 
      <F_E_HOP_UTIL>100.0000000</F_E_HOP_UTIL> 
     </F_R_EQUIPMENT> 

答えて

1

ファイルの内容がXMLに似ているので、SAXParserを試してみるとよいでしょう。 これでカスタムのContentHandlerを作ることができるので、基本的にタグを指定して、ファイルの解析方法を自分で記述することができます。

SAXParserが動作しない(xmlファイルがない)場合は、手作業で解析するか、xmlファイルのように構造化する必要があります。

+0

私はファイルの構造を制御できません(アプリケーションリーダーを作ろうとしている私のプログラムではありません)が、私はsaxパーサーを試して、タグがついている非XMLファイルXMLを使用していますが、そうでない場合は、手作業で構文解析する方法を調べる場所はどこですか? – DRing

+0

最終的にSAXParserをセットアップしてテストしたところ、役立ちました – DRing

0

でXMLコードを持っているあなたは、ファイルがどのように見えるかの例を投稿する場合は参考になります。

基本的に、ファイルのサイズによっては、InputStreamリーダーを使用して、ファイルentirleyをStringに読み込み、.split()メソッドなどのタグを使用してこの文字列を分割することができます。その後、必要なデータを配列に格納することができます。

関連する問題