2011-01-12 59 views
0

我想遍历一些xml文档,其结构不为我所知。是否有可能通过使用xpath获取所有节点(文档,元素,文本)的名称和值?通过xpath遍历一个未知的xml文档

+0

你的问题不清楚。你想要选择文档中的所有节点还是文档URI的元组,元素QName和整个文档中每个元素的字符串值? – 2011-01-13 00:13:38

回答

0

单独的XPath可以获取数据,但它不太适合返回合成结果。下面的XQuery为您提供了一个首发:

//*/<element name="{name()}" parent="{name(..)}" value="{if (*) then '(composite)' else string(.)}"/> 

更多的细节,你需要更精确地指定所需的输出。

0

你可能想

//node() | //@* | //namespace::* 

这将选择所有节点联盟(文档节点(/)的元素,文本节点,注释节点和处理指令节点),所有属性节点和所有名称空间节点

所使用的XPath引擎通常会提供评估此类表达式的结果,如某些容器,其中所选节点的表示是按文档顺序的,并且可以遍历该容器的成员。