我在xml下面有处理说明和。在这里,我想阅读此xml(如果存在PI),那么我想从till中提取内容。
<message date="20040817" >
<message.front date="20040817">
<message.name.block find.trace="20200530" >
<?msg TRACE;start?>
<label date="20040817">&sect;</label>
<dsgnator date="20040817">7:34.25</dsgnator>
<name date="20040817">Declaration<sep/>Provision<sep/>Additions, alterations or improvements by unit owners</name>
<?msg TRACE;end?>
</message.name.block>
</message.front>
<message.body date="20040817">
<form date="20040817" >
<mdta.block>
<mdta field="id">
<value>123456</value>
</mdta>
</mdta.block>
<msg.para date="20040817">
<msg.text date="20040817"></msg.text>
</msg.para>
</form>
</message.body>
</message>
我的输出应如下所示
<message.front date="20040817">
<message.name.block find.trace="20200530" >
<?msg TRACE;start?>
<label date="20040817">&sect;</label>
<dsgnator date="20040817">7:34.25</dsgnator>
<name date="20040817">Declaration<sep/>Provision<sep/>Additions, alterations or improvements by unit owners</name>
<?msg TRACE;end?>
</message.name.block>
</message.front>
我在氧气xml编辑器中像下面那样在xslt中尝试过
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="1.0">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/processing-instruction()">
<xsl:value-of select = "/message/message.front" />
</xsl:template>
</xsl:stylesheet>
它正在打印完整的xml文件。我没有得到想要的确切输出。