使用XSLT展平复杂XML
使用XSLT展平复杂XML,xml,xslt-1.0,Xml,Xslt 1.0,房地产估价 003 贡献因子 CF 4-一般用途资产 ... ... ... 房地产估价 003 ... ... ... 大家好,上面是XML结构,我需要将其展平以接收一个节点作为属性的XML。我遇到的问题是,我需要循环多个节点进行估价 当我为每个标记执行一次计算时,它只会将值带到第一个求值节点,然后进入下一个属性进行处理。在这个例子中,我只包含了一个属性结构。在完整的xml文件中有类似的倍数,其他属性的结构也类似 我需要一个数据以表格形式出现 集合ID、类型代码、属性引用、属性值 谢谢大家
房地产估价
003
贡献因子
CF 4-一般用途资产
...
...
...
房地产估价
003
...
...
...
大家好,上面是XML结构,我需要将其展平以接收一个节点作为属性的XML。我遇到的问题是,我需要循环多个节点进行估价
当我为每个标记执行一次计算时,它只会将值带到第一个求值节点,然后进入下一个属性进行处理。在这个例子中,我只包含了一个属性结构。在完整的xml文件中有类似的倍数,其他属性的结构也类似
我需要一个数据以表格形式出现
集合ID、类型代码、属性引用、属性值
谢谢大家。也许是这样的吧
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1">
<xsl:template match="/">
<Properties>
<xsl:for-each select="//Valuation">
<Property>
<xsl:attribute name="CollectionID">
<xsl:value-of select="../CollectionID"/>
</xsl:attribute>
<xsl:attribute name="TypeCode">
<xsl:value-of select="../CollectionTypeCode"/>
</xsl:attribute>
<xsl:attribute name="PropertyReference">
<xsl:value-of select="PropertyReference/ID"/>
</xsl:attribute>
<xsl:attribute name="PropertyValue">
<xsl:value-of select="ValueGroup/PropertyValue/NameSpecification/Name"/>
</xsl:attribute>
</Property>
</xsl:for-each>
</Properties>
</xsl:template>
</xsl:stylesheet>
请将XML片段作为问题中的代码块。没有人希望手动键入XML以获得答案。同时给出代码块中所需结果的示例。还有您在另一个代码块中提出的XSLT。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1">
<xsl:template match="/">
<Properties>
<xsl:for-each select="//Valuation">
<Property>
<xsl:attribute name="CollectionID">
<xsl:value-of select="../CollectionID"/>
</xsl:attribute>
<xsl:attribute name="TypeCode">
<xsl:value-of select="../CollectionTypeCode"/>
</xsl:attribute>
<xsl:attribute name="PropertyReference">
<xsl:value-of select="PropertyReference/ID"/>
</xsl:attribute>
<xsl:attribute name="PropertyValue">
<xsl:value-of select="ValueGroup/PropertyValue/NameSpecification/Name"/>
</xsl:attribute>
</Property>
</xsl:for-each>
</Properties>
</xsl:template>
</xsl:stylesheet>