是有可能选择正好包括子节点的子集的节点?

我有一些的XPath:

//tbody/tr[2]/td/div/table/tbody/tr[2]/td[position() > 1]

这给了我一切,但第一个子节点。 然而,它给我的TD笔记的NodeList作为一个结果。 我想选择父TR节点,但与第一个孩子TD节点删除。

这可能仅仅使用XPath的?

--------------解决方案-------------

XPath是针对XML文档的查询语言。 因此,它不能修改结构源XML文档或创建一个新的XML文档。

创建一个新的,修改后的文档的任务不能使用XPath仅进行。

这是很容易使用XSLT来完成

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="tr[2]/td[1]"/>
</xsl:stylesheet>

当这种转变施加在下面的XML文档:

<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>

通缉,正确的结果(所有节点复制与第1外<td>第二儿童<tr>产生:

<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>

分类:XSLT 时间:2015-03-15 人气:0
本文关键词: XSLT,XPath的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.615 (s). 10 q(s)