Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C# XSLT中的连接_C#_Xml_Xslt - Fatal编程技术网

C# XSLT中的连接

C# XSLT中的连接,c#,xml,xslt,C#,Xml,Xslt,我发现为特定的XML节点创建XSLT很困难。请帮我解决这个问题。 XML节点: <field name="GOP Structure"> <GOPStructures> <GOPStructure> <M value="0" /> <N value="1" /> <coverage value="3.6" /> &

我发现为特定的XML节点创建XSLT很困难。请帮我解决这个问题。 XML节点:

<field name="GOP Structure">
    <GOPStructures>
        <GOPStructure>
            <M value="0" />
            <N value="1" />
            <coverage value="3.6" />
        </GOPStructure>
        <GOPStructure>
            <Mmax value="3" />
            <Mmin value="2" />
            <N value="48" />
            <coverage value="99.9" />
        </GOPStructure>
        <GOPStructure>
              // so on..
              </GOPStructure>
    </GOPStructures>
    <AverageGOPLength value="48" /> </field>

//以此类推。。
我想要的输出是:


特定GOP结构节点可以有3个子节点(M、N和覆盖范围)或4个子节点(Mmax、Mmin、N和覆盖范围)。
对于4个子节点,输出XML M值应在[Mmin..Mmax]范围内。

查看这是否适用于您

<xsl:template match="field[@name='GOP Structure']">
    <field name="GOP Structure">
        <xsl:attribute name="value">
            <xsl:apply-templates select="GOPStructures/GOPStructure[M or Mmax]"/>
        </xsl:attribute>
    </field>
    <field name="Average GOP Length" value="{AverageGOPLength/@value}"/>
</xsl:template>

<xsl:template match="GOPStructure[M]">
    <xsl:text>(M=</xsl:text>
    <xsl:value-of select="M/@value"/>
    <xsl:text> N=</xsl:text>
    <xsl:value-of select="N/@value"/>
    <xsl:text>)(</xsl:text>
    <xsl:value-of select="coverage/@value"/>
    <xsl:text>%)</xsl:text>
    <xsl:if test="position()!=last()">
        <xsl:text>, </xsl:text>
    </xsl:if>
</xsl:template>

<xsl:template match="GOPStructure[Mmax]">
    <xsl:text>(M=[</xsl:text>
    <xsl:value-of select="Mmin/@value"/>
    <xsl:text>..</xsl:text>
    <xsl:value-of select="Mmax/@value"/>
    <xsl:text>] N=</xsl:text>
    <xsl:value-of select="N/@value"/>
    <xsl:text>)(</xsl:text>
    <xsl:value-of select="coverage/@value"/>
    <xsl:text>%)</xsl:text>
    <xsl:if test="position()!=last()">
        <xsl:text>, </xsl:text>
    </xsl:if>
</xsl:template>

(M)=
N=
)(
%)
, 
(M)=[
..
]N=
)(
%)
, 

好的,我的疑问已经消除了。我将删除我的评论。