如何在ios中读取没有根元素的xml文件

如何在ios中读取没有根元素的xml文件,ios,xml,xml-parsing,Ios,Xml,Xml Parsing,我有一个XML文件,它没有根元素。我尝试了XMLParser.h-XMLParser.m文件和XMLReader.h-XMLReader.m。但我无法读取所有元素。它只读取第一个元素。你能帮我解决这个问题吗 我的XML文件如下 <Firstname>First</Firstname> <Lastname>Last</Lastname> <Contactnumber>123456</Contactnumber> <Add

我有一个XML文件,它没有根元素。我尝试了XMLParser.h-XMLParser.m文件和XMLReader.h-XMLReader.m。但我无法读取所有元素。它只读取第一个元素。你能帮我解决这个问题吗

我的XML文件如下

<Firstname>First</Firstname>
<Lastname>Last</Lastname>
<Contactnumber>123456</Contactnumber>
<Address>Address of the person</Address>

请帮我解决这个问题。提前谢谢

没有根元素的XML是无效的XML。我想知道在验证之前是否可以在XML周围插入一个伪根元素?在解析时,是否有表示XML的字符串?我知道这是错误的XML,但我只获取此XML。我必须解析它并将这些数据保存到用户默认值,我可以这样做吗?我不是通过表示XML的字符串获取数据。你能解释一下吗?
 <Firstname>First<Firstname>
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
attributes:(NSDictionary *)attributeDict {

NSLog(@"%@ %@ %@ %@ %@" ,elementName,namespaceURI,qualifiedName,currentElementValue,attributeDict);


//NSLog(@"Processing Element: %@", elementName);
}
- (void)parser:(NSXMLParser *)parser foundAttributeDeclarationWithName:(NSString *)attributeName forElement:(NSString *)elementName type:(NSString *)type defaultValue:(NSString *)defaultValue
{
NSLog(@"element name -- %@ attribute -%@",elementName, attributeName);

}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

if(!currentElementValue) 
    currentElementValue = [[NSMutableString alloc] initWithString:string];
else
    [currentElementValue appendString:string];

NSLog(@"Processing Value: %@", currentElementValue);

}
- (void)parserDidStartDocument:(NSXMLParser *)parser{

}
- (void)parserDidEndDocument:(NSXMLParser *)parser{

}
// sent when the parser has completed parsing. If this is encountered, the parse was successful.
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{


if ([elementName isEqualToString:@"affiliate_name"]) {
    NSLog(@"Done --- ");
}

NSLog(@"%@ %@ %@ %@",elementName,namespaceURI,qName,currentElementValue);

defaults = [NSUserDefaults standardUserDefaults];


[defaults setObject:currentElementValue forKey:elementName];

[[NSUserDefaults standardUserDefaults] synchronize];


 }