我有一个NSString,看起来像这样:
xmlstring=@"<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 :(得分:2)
XML文档只能有一个根元素。您的示例xmlString具有多个根元素:
1. <DamageAccount>...</DamageAccount>
2. <Damage>...</Damage>
3. <DamageType>...</DamageType>
您应该将这些封装在一个元素中:
<rootDamageElement>
<DamageAccount>...</DamageAccount>
<Damage>...</Damage>
<DamageType>...</DamageType>
</rootDamageElement>
(注意:我已经阅读了有关该问题的评论,并承认该海报说他们发布了错误的字符串,但我觉得这个问题仍然需要找到遇到此问题的人的答案。) / em>的