2011-07-13 3 views
1

これを理解するために何時間も頭を悩ましています。トラバースとデータの解析を開始するには、TBXMLにrootXMLElementが設定されている必要があります。TBXMLのルート要素は、何をするにしてもnullです。

私が何をしても、私はNSLog、それはnullです。

<?xml version= "1.0" encoding="UTF8"?> 
<patients> 
    <patient> 
     <patientNumber>1234</patientNumber> 
     <nameFirst>Jason</nameFirst> 
     <!--more properties of a patient--> 
    </patient> 
    <patient> 
     <patientNumber>5542</patientNumber> 
     <nameFirst>Gary</nameFirst> 
     <!--more properties of a patient--> 
    </patient> 
</patients> 

私がこれまで使っていたコード:

NSURL *xmlURL = [NSURL URLWithString:destPath]; 
TBXML *tbxml = [TBXML tbxmlWithURL:xmlURL]; 

のNSLogがnullとしてtbxml.rootXMLElement示し

は、ここでXMLのサンプルです。ノートの

その他の詳細:

  1. 私はXMLファイルから任意の非ASCII文字を削除するには、Rubyスクリプトを使用します。アプリは何も必要ありません。
  2. 私は、XMLファイルがUTF-8でないことが問題だと思ったので、bashコマンドiconvを使用してASCIIからUTF-8に変換しました。どちらもうまくいきませんでした。

ご意見をいただければ幸いです。

答えて

2

あなたが前処理しているという事実に基づいて、ローカルXMLのようです。ローカルファイルパスをURLとして処理する場合は、正しく動作するためにはfileURLWithPath:を使用する必要があります。これを行う必要があります。

NSURL *xmlURL = [NSURL fileURLWithPath:destPath]; 
TBXML *tbxml = [TBXML tbxmlWithURL:xmlURL]; 
関連する問題