XSLT:如何查看嵌套元素

XSLT:如何查看嵌套元素,xslt,Xslt,这是我的xml,我需要应用xslt: 正如你所看到的,这里有很多嵌套结构,我不需要 我只需要看一下section元素,其中section>identifier.code=“S001” 我想在不考虑上部结构的情况下偷看我想要的元素 我正在使用这个xslt,但它没有看到我想要的部分元素: 但我得到了: 上面的例子简化了我的问题: 属性1 价值1 属性2 价值2 属性3 价值3 ... 我真正需要的是得到这样的东西: 价值1 价值2 价值3 有什么想法吗?试试: <?xml

这是我的xml,我需要应用xslt:


正如你所看到的,这里有很多嵌套结构,我不需要

我只需要看一下
section
元素,其中
section>identifier.code=“S001”

我想在不考虑上部结构的情况下偷看我想要的元素

我正在使用这个xslt,但它没有看到我想要的
部分
元素:


但我得到了:


上面的例子简化了我的问题:


属性1
价值1
属性2
价值2
属性3
价值3
...
我真正需要的是得到这样的东西:


价值1
价值2
价值3
有什么想法吗?

试试:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output indent="yes"/>

  <xsl:template match="/">
    <xsl:for-each select="//section[identifier/@code='S001']">
      <person>
        <xsl:for-each select="//td[1]">
          <attribute key="{.}"><xsl:value-of select="../td[2]"/></attribute>
        </xsl:for-each>   
      </person>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>


备注:这是已编辑帖子的解决方案。

XPath表达式
//section[indicator/@code=5001]
将选择谓词
indicator/@code=5001
所包含的
section
元素,而不考虑任何祖先结构。我已经尝试了您的表达式。。。尽管如此,它并没有偷看我的
部分
元素……也许我读得不好,代码的第一个字符是字母
s
还是数字
5
?不知何故,我认为代码是一个数字,如果它是字母数字字符串,请使用字符串引号,例如
//节[indicator/@code='S001']
。除此之外,当您使用
值,但未显示
节的任何字符串内容时,很难说它有哪些内容,你希望复制到输出中。你说的“偷看”是什么意思?将其复制到输出?谢谢Pierre。我刚刚编辑了这篇文章。你能提供一些关于如何解决这个问题的更多细节吗?根据编辑后的帖子,我需要更多的时间来回答这个问题,但是现在,我要开个会。你得等几个小时。对不起,没问题!当然请参阅我编辑的答案。