xslt在xml中转义了xml

时间:2016-07-07 09:47:43

标签: xml xslt escaping

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

我使用disable-output-escaping="yes"检索<ApprovedData>的内容,但我看不出可以从我的xsl再次访问此结果xml的方法。

如何构建引用<documentid>

内的<ApprovedData>元素的模板
`<?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 :(得分:0)

根据您对wrdDoc的具体用途,这可能会有所帮助,也可能没有帮助:

documentid

您可能需要更改字符串,因为您似乎在文档ID之后切断了 <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>