Xml 如何通过xslt获得子标记和父标记的替代值
我有一个下面的XML结构,Title tag是父标记,而Micro tag是子标记,在输出中我需要第一个Micro tag的值,即“K”,然后是Title tag的第一个文本值,即“,”然后是第二个Micro tag的值,即“e”,然后是Title tag的第二个文本值,即“,”等等。Xml 如何通过xslt获得子标记和父标记的替代值,xml,xslt,Xml,Xslt,我有一个下面的XML结构,Title tag是父标记,而Micro tag是子标记,在输出中我需要第一个Micro tag的值,即“K”,然后是Title tag的第一个文本值,即“,”然后是第二个Micro tag的值,即“e”,然后是Title tag的第二个文本值,即“,”等等。 我正在使用这个输入xml文件 <Head> <Title> <Micro>K</Micro>, <Micro> <Ind>L<
我正在使用这个输入xml文件
<Head>
<Title>
<Micro>K</Micro>, <Micro>
<Ind>L</Ind>
<Ind>X</Ind>E</Micro>, and <Micro>S</Micro> I</Title>
<Title>
<Micro>M</Micro>
<Ind>W</Ind>
<Ind>G</Ind> O</Title><Head>
K
L
XE和si
M
W
GO
输出应为:
<Heading topic="K,E, and S I"/>
<Heading topic="M O"/>
我相信这对你来说应该是可行的:
<?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" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="Head/Title">
<Heading>
<xsl:attribute name="topic">
<xsl:for-each select="Micro/text() | text()">
<xsl:value-of select="translate(., ' ', '')"/>
</xsl:for-each>
</xsl:attribute>
</Heading>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
注:当元素包含有意义的文本节点时,源XML不应该在Title元素中真正包含换行符
此外,我还必须修复结尾的头标签。您尝试了什么?此外,您的输入XML不是XML。您是否可以包括您尝试使用的XSLT,并描述它如何无法正确执行?我使用了以下代码:。请包括整个样式表(或者,如果太长,请选择相关模板)并将其编辑到原始帖子中,不要在注释中发布代码。