根据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 

我需要获取标签text "只有当另一个标签"TpoDocRef"等于& ';801&;当我得到它的时候,我需要把它存储起来,放进一个像这样的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">

Thanks in advance

找到答案了。问题出在命名空间上。当我尝试在[]中获取节点时,它也应该具有名称空间,如下所示:

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

最新更新