xml – 用xsl输出纯文本
发布时间:2020-12-16 08:02:02 所属栏目:百科 来源:网络整理
导读:我需要使用XSL从XML生成简单的纯文本输出。由于我没有在线找到任何好的简洁的例子,所以我决定在这里发布我的解决方案。任何指向更好的例子的链接当然会被赞赏: ?xml version="1.0" encoding="UTF-8"?xsl:stylesheet version="1.0" xmlns:xsl="http://www.w
我需要使用XSL从XML生成简单的纯文本输出。由于我没有在线找到任何好的简洁的例子,所以我决定在这里发布我的解决方案。任何指向更好的例子的链接当然会被赞赏:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" > <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <xsl:template match="/"> <xsl:for-each select="script/command" xml:space="preserve">at -f <xsl:value-of select="username"/> <xsl:value-of select="startTime/@hours"/>:<xsl:value-of select="startTime/@minutes"/> <xsl:value-of select="startDate"/><xsl:text> </xsl:text></xsl:for-each> </xsl:template> </xsl:stylesheet> 在这里帮助我的几件重要事情: >使用xsl:output在输出文档的开头省略标准声明 这个xslt的结果和期望的输出是: at -f alluser 23:58 17.4.2010 正如我所说,任何关于如何做这个更优雅的建议将不胜感激。 后续2011-05-08: 这里是我正在处理的xml的类型: <script xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="script.xsd"> <command> <username>alluser</username> <startTime minutes="58" hours="23"/> <startDate>17.4.2010</startDate> </command> </script>
>您可以定义一个模板来匹配脚本/命令,并消除xsl:for-each
> concat()可以用来缩短表达式,并保存你不要显式地插入这么多的< xsl:text>和< xsl:value-of>元素。 >使用实体引用& #xA;对于回车,而不是依赖于保留< xsl:text>之间的换行符。元素有点安全,因为代码格式化不会弄乱你的换行符。此外,对我来说,它读作一个明确的换行符,更容易理解意图。 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" > <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <xsl:template match="script/command"> <xsl:value-of select="concat('at -f ',username,' ',startTime/@hours,':',startTime/@minutes,startDate,'
')"/> </xsl:template> </xsl:stylesheet> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Swift中将本机发送事件发送到JavaScript
- ruby – Rails – 本地变量与实例变量
- Cocos2d-x结构学习(一)CCObject、CCCopying、CCZone
- c# – 由MEF容器处理组件?
- postgresql连接报错:could not fork new process for conn
- objective-c – paymentQueueRestoreCompletedTransactions
- CodeSmith的XmlPropetry问题
- 在Postgresql中检测并修复损坏的indeces?
- TexturePacker一个神奇的图片资源整合工具
- 设计模式 – 如何在DDD中正确设计模型的计算字段?