首页 文章

xslt在xml中转义了xml

提问于
浏览
0

我正在将xml文档的xslt解析为HMTL . 我只选择一些相关的元素 . 问题是这个xml doc包含转义的xml,我必须将其中的一些解析为输出 .

我正在使用 disable-output-escaping="yes" 来检索 <ApprovedData> 的内容,但我看不出可以从我的xsl再次访问这个生成的xml的方法 .

如何在 <ApprovedData> 中构建一个引用 <documentid> 元素的模板

`<?xml version="1.0" encoding="utf-8"?>
<Message><Method>OCESIIJS</Method>
<ApprovedData>&lt;transfers&gt;
    &lt;transfer action="approve"&gt;
        &lt;amount&gt;0&lt;/amount&gt;
        &lt;type&gt;Document&lt;/type&gt;
        &lt;hostref&gt;0&lt;/hostref&gt;
        &lt;cdnidfr&gt;0&lt;/cdnidfr&gt;
        &lt;documentid&gt;zzzzyyyyxxxx;/documentid&gt;
        &lt;signdocument&gt;true&lt;/signdocument&gt;
    &lt;/transfer&gt;
&lt;/transfers
&gt;
</ApprovedData>
<Message>
.....`

1 回答

  • 0

    根据您对 documentid 的具体要求,这可能会有所帮助,也可能没有帮助:

    <xsl:template match="Message">
        <xsl:variable name="documentid" select="./ApprovedData/text()" />
        <xsl:value-of select="substring-before(substring-after($documentid, 'documentid&gt;'), ';/documentid')" />
      </xsl:template>
    

    您可能必须更改字符串,因为您似乎在文档ID之后切断了 &lt .

相关问题