我想实现以下目标。
这是一个示例XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<database>
<rad>
<timeout> 45 </timeout>
</rad>
<tac>
<timeout> 70 </timeout>
</tac>
</database>
1)使用XSLT我想检查/ database / rad / timeout值是否大于30(在本例中为45),将其更改为30.
2)按如下方式添加新标签:
<warnings>
<warning>Time out of RAD changed.</warning>
</warnings>
因此输出XML应包含以下内容: -
<?xml version="1.0" encoding="iso-8859-1"?>
<database>
<rad>
<timeout> 45 </timeout>
</rad>
<tac>
<timeout> 70 </timeout>
</tac>
<warnings>
<warning>Time out of RAD changed.</warning>
</warnings>
</database>
有很多这样的条件可以存在。我能够完成第一部分: -
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xslt="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/database/rad/timeout">
<timeout>
<xsl:choose>
<xsl:when test=". > 30">30</xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</timeout>
</xsl:template>
<!-- ignore text content of nodex -->
<xsl:template match="text()" />
</xsl:stylesheet>
然而,对于第二部分,我不知道从哪里开始,任何提示将不胜感激。感谢。
答案 0 :(得分:0)
这样怎么样?
XSLT 1.0
labelVersRead.Text += "Version: " + line + "\r\n";