繁体   English   中英

根据 xslt 中的另一个节点文本获取节点的文本值

[英]Get text value of node based on another node text in xslt

我有一个具有以下示例格式的 xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<EnvioDTE version="1.0" xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiDte EnvioDTE_v10.xsd">
<SetDTE ID="SetDoc">
<Referencia>
  <NroLinRef>1</NroLinRef>
  <TpoDocRef>802</TpoDocRef>
  <FolioRef>25800-220-POAMPCG</FolioRef>
  <FchRef>2021-09-30</FchRef>
  <RazonRef>25800-220- POA-MPCG00001</RazonRef>
</Referencia>
<Referencia>
  <NroLinRef>2</NroLinRef>
  <TpoDocRef>803</TpoDocRef>
  <FolioRef>EDP 03</FolioRef>
  <FchRef>2021-09-30</FchRef>
  <RazonRef />
</Referencia>
<Referencia>
  <NroLinRef>3</NroLinRef>
  <TpoDocRef>801</TpoDocRef>
  <FolioRef>176644799</FolioRef>
  <FchRef>2021-09-30</FchRef>
  <RazonRef />
</Referencia>
....bla bla bla 

只有当另一个标签“TpoDocRef”等于“801”时,我才需要获取标签文本“FolioRef”,当我得到它时,我需要存储它并像这样放入 td,这是我到目前为止所得到的,但是当我创建 pdf 时它没有出现

<td style="font-size:12px;border-left:2px solid black">                         
         <xsl:value-of select="sii:EnvioDTE/sii:*/sii:DTE/sii:Documento/sii:Referencia[TpoDocRef='801']/sii:FolioRef"/>
    </td>

最后我应该能够得到“176644799”

提前致谢

得到了答案,问题出在命名空间上,当我尝试在 [] 中获取节点时,它也应该具有这样的命名空间

<xsl:value-of select="sii:EnvioDTE/sii:*/sii:DTE/sii:Documento/sii:Referencia[sii:TpoDocRef='801']/sii:FolioRef"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM