gpt4 book ai didi

ios - 使用 GDataXml 保存 xml 时引号丢失

转载 作者:行者123 更新时间:2023-11-29 04:53:24 24 4
gpt4 key购买 nike

我有一个像这样的 xml 文件:

<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的等效元素

关于ios - 使用 GDataXml 保存 xml 时引号丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8437296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com