如何提取“xyz”值来显示?如何提取“joe”和“joepass”来显示?
有了这样的东西。这假设您的 XML 位于NSString
:
NSXMLDocument* xmlDoc;
NSError* error = nil;
NSUInteger options = NSXMLNodePreserveWhitespace|NSXMLDocumentTidyXML;
xmlDoc = [[NSXMLDocument alloc] initWithXMLString:xmlString
options:options
error:&error];
if (!error)
{
NSArray* value1Nodes = [xmlDoc nodesForXPath:@".//Main/value1" error:&error];
if (!error)
{
NSXMLNode* value1node = [value1Nodes objectAtIndex:0];
NSString* value1 = [value1node stringValue];
// .. do something with value1
}
NSArray* userInfoNodes = [xmlDoc nodesForXPath:@".//Main/userinfo" error:&error];
if (!error)
{
for (NSXMLNode* userInfoNode in userInfoNodes)
{
NSXMLNode* nameNode = [[userInfoNode nodesForXPath:@"./name" error:&error] objectAtIndex:0];
NSXMLNode* passNode = [[userInfoNode nodesForXPath:@"./pass" error:&error] objectAtIndex:0];
NSString* name = [nameNode stringValue];
NSString* pass = [passNode stringValue];
// .. do something with name and pass
}
}
在 Apple 的基于树的 XML 编程指南中查看更多详细信息。
据我了解,child1 是具有“版本”属性的根。'value1' 和 'userinfo' 都是元素。
Main
是此 XML 文档中的根节点,而不是child1
.