我使用KissXML
,它是NSXMLDocument
的替代品等。
这是我的NSXMLElement
:
<ar>
<k>baker</k>
<tr>ˈbeɪkə</tr>
baker пекарь, булочник
</ar>
我希望获得NSXMLElement Node
的文本值,而不包含所有子节点的文本。所以,它应该只返回:
baker пекарь, булочник
这不起作用:
_articleText = [xmlElement stringValue];
它返回所有内容,包括tr和k子节点的文本。
P.S。
我使用XPath
得到了这个ar节点,我正在寻找XPath
解决方案,我不想删除子串。
NSArray *array = [self.xmlDocument nodesForXPath:@"/xdxf/ar" error:&error];
答案 0 :(得分:1)
假设&#39;阵列&#39;只包含一个元素,那么&#39; s&#39;将包含感兴趣的字符串:
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];
}