gpt4 book ai didi

ios - 仅从 NSXMLElement 获取文本值,不带子节点的文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:24 28 4
gpt4 key购买 nike

我使用 KissXML,它是 NSXMLDocument 等的替代品。这是我的 NSXMLElement 的内容:

<ar>
<k>baker</k>
<tr>ˈbeɪkə</tr>
baker пекарь, булочник
</ar>

我想获取 NSXMLElement Node 的文本值,但不包含所有子节点的文本。所以,它应该只返回:

baker пекарь, булочник

这是行不通的:

_articleText = [xmlElement stringValue];

它返回所有内容,包括 tr 和 k 个子节点的文本。

附言我使用 XPath 得到了这个 ar 节点,我正在搜索 XPath 解决方案,我不想删除子字符串。

NSArray *array = [self.xmlDocument nodesForXPath:@"/xdxf/ar" error:&error];

最佳答案

假设“数组”仅包含一个元素,那么“s”将包含感兴趣的字符串:

NSArray *array = [self.xmlDocument nodesForXPath:@"/xdxf/ar" error:&error];
if([array count] > 0) {
NSArray *childrenOfAr = [array[0] children];
for(NSXMLNode *n in childrenOfAr) {
if([n kind] == NSXMLTextKind) {
NSString *s = [n stringValue];
}
}
}

更快的方法是在 Xpath 查询中查找 text():

NSArray *array = [self.xmlDocument nodesForXPath:@"/xdxf/ar/text()" error:&error];
if([array count] > 0) {
NSString *s = [array[0] stringValue];
}

关于ios - 仅从 NSXMLElement 获取文本值,不带子节点的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18119775/

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