2011-11-10 32 views
1

我有一個NSString,看起來像這樣:NSXMLElement * XML = [[[NSXMLElement頁頭] initWithXMLString:錯誤的xmlString:無]自動釋放]不工作

[email protected]"<DamageAccount><EntityState>Added</EntityState><Id>5555</Id><DamageList><Damage><Id>5727</Id></Damage></DamageList><Time>2011-09-22T11:38:12</Time><Title>DamageAcc</Title></DamageAccount><Damage><EntityState>Added</EntityState><Id>5727</Id><DamageType><Id>5726</Id></DamageType><Description>Bad</Description><Name>Da1</Name></Damage><DamageType><EntityState>Added</EntityState><Id>5726</Id><Description>Big</Description><Name>Fire</Name><Symbol>Fire</Symbol></DamageType>"; 

但我想創建一個NSXMLElement。 所以我用:

NSXMLElement *xml = [[[NSXMLElement alloc] initWithXMLString:xmlString error:nil] autorelease]; 

在我跑我的程序,我得到一個錯誤味精和我的程序崩潰的時刻。

我得到的錯誤是:

Entity: line 1: parser error : Extra content at the end of the 
document 
ageList><Time>2011-09-22T11:38:12</Time><Title>DamageAcc</Title></DamageAccount> 

有誰知道什麼是錯我的程序?

+0

您的字符串不是XML字符串。 – beefon

+0

對不起,我發佈了錯誤的字符串..但是請知道,它是具有相同問題的正確字符串 – DeFlo

+0

只需在此處輸入正確的字符串即可。 – beefon

回答

2

XML文檔只能有一個根元素。你的榜樣的xmlString有多個根元素:

1. <DamageAccount>...</DamageAccount> 
2. <Damage>...</Damage> 
3. <DamageType>...</DamageType> 

你應該在一個元素封裝這些:

<rootDamageElement> 
    <DamageAccount>...</DamageAccount> 
    <Damage>...</Damage> 
    <DamageType>...</DamageType> 
</rootDamageElement> 

(注:我已閱讀關於這個問題的意見,並確認發帖者表示,他們已經張貼錯誤的字符串,但我覺得這個問題仍然需要一個人遇到這個問題的答案)。