快速提问。我有一些XML
<someXML>
<someNode> </someNode>
<someNode>asdlkjf </someNode>
</someXML>
当我将XSLT应用于此时,第一个节点将被修剪为空。第二个很好,并且没有修剪尾随空格,因为我保留了空格:
<someXML>
<someNode></someNode>
<someNode>asdlkjf </someNode>
</someXML>
我的问题是为什么第一个节点会被截断?听起来很荒谬,空白节点很重要,需要维护。我正在使用Xalan 2.7.1。这只是XSL的工作方式还是有办法解决这个问题?
谢谢!
答案 0 :(得分:2)
使用此XSLT指令:
<xsl:preserve-space elements="*"/>
如果这没有帮助,这意味着XML解析器正在剥离仅空白文本节点。
为防止这种情况,请在XML文档中使用xml:space="preserve"
属性:
<someXML>
<someNode xml:space="preserve"> </someNode>
<someNode>asdlkjf </someNode>
</someXML>