如何匹配元素及其包含的任何和所有属性?

时间:2012-12-21 21:25:58

标签: xml xpath

这是我的示例XML。

<root>
  <para indent="yes">First paragraph</para>
  <para indent="no">Second paragraph</para>
  <para indent="yes" level="1">Third paragraph</para>
  <para indent="no" level="2">`Fourth paragraph</para>
</root>

在altova中,我可以匹配所有标签(使用//para),这会给我结果:

para First paragraph 
para Second paragraph
para Third paragraph
para Fourth paragraph

或者我可以匹配para的所有属性(使用//para/@*),这会给我结果:

indent yes
indent no
indent yes
level 1
indent no
level 2

但我希望将这些xpath组合起来并获得以下所需结果:

para Paragraph 1
indent yes
para Paragraph 2
indent no
para Paragraph 3
indent yes
level 1
para Paragraph 4
indent no
level 2

是否有一条xpath会在altova或氧气中给我这个结果?

1 个答案:

答案 0 :(得分:1)

您可以在两个选择器之间使用联合:

//para|//para/@*

工作示例:http://chris.photobooks.com/xml/default.htm?state=Ag