2011-07-13 81 views
1

將我的大腦折斷數小時試圖找出這一個問題。 TBXML必須設置rootXMLElement才能開始遍歷和解析數據。無論我做什麼,TBXML根元素都爲空

無論我做什麼,當我NSLog它,它是空的。

這裏是XML的一個樣本:

<?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顯示tbxml.rootXMLElement爲空。

注意其他細節:

  1. 我使用Ruby腳本從XML文件中刪除任何非ASCII字符。該應用程序不需要更多。
  2. 我認爲問題可能是XML文件不是UTF-8,所以我使用bash命令iconv將其從ASCII轉換爲UTF-8。也沒有工作。

任何建議,非常感謝。

回答

2

它看起來像是一個基於事實的本地XML,預處理它。當您將本地文件路徑作爲URL處理時,您需要使用fileURLWithPath:才能正常工作。所以你需要這樣做,

NSURL *xmlURL = [NSURL fileURLWithPath:destPath]; 
TBXML *tbxml = [TBXML tbxmlWithURL:xmlURL]; 
相關問題