【发布时间】:2011-12-24 21:22:59
【问题描述】:
假设我们有这个简单的 xml ...
<books>
<book>
<author/>
<title/>
</book>
<book>
<author/>
<title/>
</book>
</books>
我正在使用这个 xpath 来获取第一个 book 实例的元素。
//books[1]/*
返回
<author/>
<title/>
这很好用,但我必须使用 local-name() 让它工作。我尝试了以下方法,但这些都不起作用...
//*[local-name()='books']/*
这会返回重复的作者和标题元素,不好,我只需要第一个孩子的他们
//*[local-name()='books'][0]/*
这不会返回任何东西
基本上,我想创建一个 CSV 文件,因此输出中的第一行将是一个标题,其中列出了书籍属性名称,然后是任意数据值。我只需要让标题部分工作。
author,title
john,The End is Near
sally,Looking for Answers
【问题讨论】:
-
您的查询
//books[1]/*应该返回两个书籍元素,而不是作者和标题元素。所以有些地方有些混乱。 -
不,它只返回第一个与我的 Xalan 1.0 XSLT 转换器
-
是的,那是我在 OP 中的坏处,我使用的是基于 [1] 的,谢谢提供信息
-
@RaffiM:您是否知道您接受了一个通常不正确的答案这一事实?
标签: xml xslt xpath xslt-1.0 xalan