Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Xml XSLT和Xpath问题_Xml_Xslt_Xpath - Fatal编程技术网

Xml XSLT和Xpath问题

Xml XSLT和Xpath问题,xml,xslt,xpath,Xml,Xslt,Xpath,XML: XSLT: 这就是我想把场馆名称作为该场馆链接的地方 因此,如果v_id=v2,场馆id=v2,我想显示id=v2的场馆的场馆名称值 谢谢这正是密钥设计用来处理的问题 在样式表的根目录中,添加 <xsl:template match="/"> <xsl:apply-templates select="/root/events/event"/> </xsl:template> <xsl:template m

XML:


XSLT:


这就是我想把场馆名称作为该场馆链接的地方
因此,如果v_id=v2,场馆id=v2,我想显示id=v2的场馆的场馆名称值


谢谢

这正是密钥设计用来处理的问题

在样式表的根目录中,添加

<xsl:template match="/">
        <xsl:apply-templates select="/root/events/event"/>
    </xsl:template>
    <xsl:template match="event">
        <xsl:value-of select="/root/venues/venue[@venue_id = /root/events/event/@v_id]/venue_name"/>
        <xsl:text>This is where I would like to put the venue name as a link to that venue</xsl:text>
    </xsl:template>

这实际上是查找正确的
venue
元素,并在其中获取
venue\u name
子元素。

为什么xml中有不同的开始和结束标记?XML:Root-Child1-Child1.1-Child1.2-Child2.1-2.1-name-Child2.2
vention\u-name
到处都是空的——为什么要大惊小怪呢?请编辑您的问题并提供有意义的数据。不要指望回答者为你做工作-1.是的,我知道它是空的,我不是在寻求内容方面的帮助,这是xpath的问题。如何比较一个模板中的两个属性,该模板用于比较来自的属性events@Delta_Cmdr如果你没有明确地向他展示你的内容,你怎么能指望一个对你的内容一无所知的人来帮助你?!非常感谢你。我对整个论坛的事情还不熟悉,如果我的问题有点模糊,我很抱歉。再次感谢你,它工作得很好!别担心,这件事一点也不含糊。我仍然不明白为什么有些人看不到
vention\u name
元素的内容与解决方案完全无关,这对我来说似乎很清楚。
<xsl:template match="/">
        <xsl:apply-templates select="/root/events/event"/>
    </xsl:template>
    <xsl:template match="event">
        <xsl:value-of select="/root/venues/venue[@venue_id = /root/events/event/@v_id]/venue_name"/>
        <xsl:text>This is where I would like to put the venue name as a link to that venue</xsl:text>
    </xsl:template>
<xsl:key name="venue" match="venue" use="@venue_id" />
<xsl:value-of select="key('venue', @v_id)/venue_name" />