xml - 选择祖先第一个节点的属性值

标签 xml xslt xpath nodes ancestor

想要的HTML:

<table>
 <thead>
  <tr>
   <th>1</th>
   <th>2</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>a</td>
   <td>b</td>
  </tr>
  <tr>
   <td>
    <table>
     <tr>
      <td>thisWidth</td>
     </tr>
    </table>
   </td>
  </tr>
 </tbody>
</table>

XML:
<row type='header'>
 <column width='150'>1</column>
 <column>2</column>
 <column type='tableintable' />
</row>
<row type='data'>
 <column>a</column>
 <column>b</column>
 <column>thisWidth</column>
</row>

一切如我所愿,我只想设置 <td> 的宽度HTML 中的元素。这必须是第一个 XML 标题列的宽度。
现在我正在使用这个:
<xsl:attribute name="width"><xsl:value-of select="//row[@type='header']/@width[position() = 1]" /></xsl:attribute>

这行不通。如何选择所需列的值?

最佳答案

试试这个 XPath 表达式

<xsl:attribute name="width">
    <xsl:value-of select="//row[@type='header']/column[position() = 1]/@width" />
</xsl:attribute>

关于xml - 选择祖先第一个节点的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360791/

相关文章:

xml - 将下拉菜单添加到 CRM 2011 功能区

java - vtd-xml 解析元素的多次出现

objective-c - 如何使用 Objective C 解析这个 XML 文件?

xslt - XPath 相对于源文档中变量的位置

javascript - 为同一个 XSL 文件生成两个不同的输出?

html - XSLT 不允许我使用自动关闭的 img 和 br 标签

c# - XPath 和 *.csproj

python - 如何在不考虑 div 索引的情况下识别 XPath?

android - 如何在 android BottomNavigationView 上获得方形效果而不是波纹?

xml - 引用在 Umbraco 中使用富文本编辑器放置的图像