【问题标题】:How to find attribute of root node in touch xml?如何在 touch xml 中查找根节点的属性?
【发布时间】:2014-10-13 06:05:24
【问题描述】:
NSString *xml = @"<?xml version="1.0" encoding="ISO-8859-15"?>
                  <ServerDateTime DateRequested="" DateSent="20141013_114855">
                     <DateTime>20141013_114857</DateTime>
                  </ServerDateTime>";

在上面的xml中,如何找到'DataSent'的属性值?

我已经尝试过关注,但我没有得到价值。

CXMLDocument *documentParser = [[CXMLDocument alloc]initWithData:[xml dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
            NSArray *arrayResult = [documentParser nodesForXPath:@"//ServerDateTime" error:nil];
            for(CXMLElement *element in arrayResult){
                NSString *value = [element name];
                if ([value isEqualToString:@"ServerDateTime"]) {
                    NSString *newLastSyncDate = [[element attributeForName:@"DataSent"] stringValue];    //it gives nil..
                }
            }

【问题讨论】:

    标签: objective-c xml touchxml


    【解决方案1】:

    您可能希望使用 XPath 查询来搜索 XML 中的元素。如果 CXML 支持这一点,您必须查找。 也许还可以看看this question

    有人正在使用 XPath 查询搜索给定属性。

    【讨论】:

    • 我没有在我的 xml 中定义 xml 命名空间。
    • 是的,对不起,我不是说命名空间部分。我的意思是使用 XPath 进行查询。由于有一些使用命名空间查询的功能,也许还有一种通过 XPath 查询获取节点的方法。
    猜你喜欢
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多