引号失去GDataXml

问题描述:

保存XML时,我有一个XML文件是这样的:引号失去GDataXml

<Patients> 
<patient name="someName" lastName="someLastName"> 
<aProperty>anIntegerValue</aProperty> 
</patient> 
</Patients> 

所以我分析这个用的NSXMLParser是这样的:

在didStartElement我有类似:

if ([elementName isEqual:@"Patients"]) { 
appDelegate.patients = [[NSMutableArray alloc] init]; 
} 
else if ([elementName isEqualToString:@"patient"]){ 
    aPatient = [[Patient alloc] init]; 
    aPatient.name = [attributeDict objectForKey:@"name"]; 
    aPatient.lastName = [attributeDict objectForKey:@"lastName"]; 

然后在某个时刻我想保存所做的更改,因此我使用GDataXML将其保存为这样:

GDataXMLElement * patientsElement = [GDataXMLNode elementWithName:@"Patients"]; 
for(Patient *aPatient in patients) { 
    GDataXMLElement *nameElement = [GDataXMLNode elementWithName:@"name"]; 
      GDataXMLElement *lastNameElement = [GDataXMLNode elementWithName:@"lastName"]; 
[aPatient addChild:nameElement]; 
[aPatient addChild:lastNameElement]; 

后,我做这个XML文件看起来是这样的:

<Patients> 
<patient> 
<name>someName</name> 
<lastName>someLastName</lastName> 
<aProperty>anIntegerValue</aProperty> 
</patient> 
</Patients> 

(注意引号都不见了) 所以,当我要分析此文件,我得到的所有“空”值。 如何在那里添加引号?或者只是避免这个错误。

由于您不再具有名称&姓氏作为属性,但现在将它们作为元素,因此在重新解析时看起来像是空值。当创建一个Patient元素不要addChild而是addAttribute或GDataXML的等价物

+0

感谢一百万,我明白,用属性和孩子解析时没有区别 – lascort