Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSLT展平复杂XML_Xml_Xslt 1.0 - Fatal编程技术网

使用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>