我有一个很大的XML集,我想运行一些xpath来制作一个更小的子集。 基本上,我有这种类型的布局:xpath查询帮助,试图获取更大的XML的子集
<root>
<item>
<collection1></collection1>
<collection2></collection2>
<collection3></collection3>
...
<collection55></collection55>
<name>item name</name>
<timestamp>47398743598</timestamp>
<another1></another1>
<another2></another2>
...
</item>
<item>
...
</item>
</root>
换句话说,项目节点的堆,和很多我不关心其他垃圾节点。
我想运行一些的XPath,来获取到:
<root>
<item>
<name>item name</name>
<timestamp>47398743598</timestamp>
</item>
<item>
...
</item>
</root>
我目前这种类型的事情:
//项目/名称
只得到名称节点,
所以然后我一直在尝试这种类型的东西:
//项目/名称/父项::项目
它获取名称节点,它的父节点(这是项目节点),但也是名称节点的所有兄弟节点,这正是我试图避免!
任何帮助,将不胜感激
干杯, 马克
这实际上只是返回名称和时间戳节点,虽然它是我之后的东西,我会理想地喜欢它们包裹在他们的父节点节点 – Mark 2009-06-25 11:13:34
对不起,我认为主要问题是获取子节点。不幸的是,使用单个XPath是不可能的;它只是选择节点,并不修剪它们。您需要使用XSLT:选择项目的一个模板,以及仅选择名称和时间戳的一个(或子表达式)。 – l0b0 2009-06-25 12:04:40