我有这种类型的 xml 文件:-
<product>
<node>
<region_id>
<node>1</node>
</region_id>
<region_time>
<node>27</node>
<node>02</node>
<node>2013</node>
</region_time>
</node>
</ptroduct>
我想像这样改变它们:-
<product>
<region_id>1</region_id>
<region_time>27,02,2013</region_time>
</product>
我想删除 <Node>
只想要上面的值
最佳答案
这个转换:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<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="node">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="node[position()>1]/text()">
<xsl:text>,</xsl:text>
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
应用于提供的 XML 文档时:
<product>
<node>
<region_id>
<node>1</node>
</region_id>
<region_time>
<node>27</node>
<node>02</node>
<node>2013</node>
</region_time></node>
</product>
产生想要的、正确的结果:
<product>
<region_id>1</region_id>
<region_time>27,02,2013</region_time>
</product>
关于php - 删除子标记名称不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15105040/