XPath在iOS中使用libxml2提取带有多个标记的文本

XPath在iOS中使用libxml2提取带有多个标记的文本,ios,xpath,libxml2,Ios,Xpath,Libxml2,在iOS应用程序上使用libxml2解析此HTML片段时(这是一个大页面的一部分)- 问题是,字典根的“无内容”是文本“或”,所有标签都是作为根节点的子,所以丢失了顺序,我不能说出或实际上是在中间,而在所有文本中,我得到以下字符串:“或者500克面包粉500克面粉”。 任何人都能想出一种方法来提取XPath查询中的纯文本,或者使用XPath引擎来读取元素的有序列表吗?由于您需要所有文本节点,可以使用 //text() 它将返回所有节点。内容中的空白有一些问题,您可以使用 //text()[no

在iOS应用程序上使用libxml2解析此HTML片段时(这是一个大页面的一部分)-

问题是,字典根的“无内容”是文本“或”,所有标签都是作为根节点的子,所以丢失了顺序,我不能说出或实际上是在中间,而在所有文本中,我得到以下字符串:“或者500克面包粉500克面粉”。 任何人都能想出一种方法来提取XPath查询中的纯文本,或者使用XPath引擎来读取元素的有序列表吗?

由于您需要所有文本节点,可以使用

//text()
它将返回所有节点。内容中的空白有一些问题,您可以使用

//text()[not(matches(., '$[\s]+$', 'm'))]

之后,您仍然需要在Objective C中进行一些修剪(例如“g”),但您应该得到包含可打印字符的所有文本节点的有序结果集。

您正在编写一些查询,但没有显示它。:)我不认为这是相关的,但也许我错了:)给定的HTML只是整个页面的一部分,在这种情况下获取所有文本元素没有帮助。我会更新我的问题。谢谢但这是一个很好的潜在客户—使用//span//text()它返回了顺序正确的所有文本元素。
//text()
//text()[not(matches(., '$[\s]+$', 'm'))]