【发布时间】:2016-09-24 23:05:48
【问题描述】:
我的数据的xml格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<table_data name="dbTest">
<row>
<test name='temp'>
<div xmlns="http://www.w3.org/1999/xhtml" >
<p> My data </p>
<ul><li>One</li><li>Two</li></ul>
</div>
</test>
<test name='temp2'>
<div xmlns="http://www.w3.org/1999/xhtml" >
<p> Other data </p>
<ul><li>One</li><li>Two</li></ul>
</div>
</test>
</row>
</table_data>
我想使用 xslt 提取 <p> 标记内的“我的数据”并将其格式化为另一种 xml 格式。我的 .xslt 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<newformat>
<xsl:for-each select="table_data/row">
<text><xsl:value-of select="test[@name='temp']/div/p"/></text>
</xsl:for-each>
</newformat>
</xsl:template>
</xsl:stylesheet>
我没有看到任何结果。但是,如果我只使用<xsl:value-of select="test[@name='temp']"/>,我会看到 div 中的所有内容,即<p> 和<ul> 标签。
关于我应该如何从<div> 中提取<p> 的任何想法?
【问题讨论】: