如何使用xslt保留xml节点之间的空间



我想使用xslt保留xml节点之间的空间,当节点中有空间时,当标记之间没有空间时,它是不需要的。

<Name>
<FirstName>A</FirstName> <LastName>B</LastName>
</Name>

Expected Output :: A B
<Name>
<FirstName>A</FirstName><LastName>B</LastName>
</Name>

Expected Output :: AB

这是令人惊讶的棘手,因为您想保留FirstNameLastName之间的文本节点,但要删除FirstName之前和LastName之后的文本节点。我想我会做

replace(string(Name), '^s+|s+$', '')

您还需要确保空格没有提前删除:不要在样式表中使用xsl:strip-space,如果您使用Microsoft XML解析器,请确保将其配置为保留元素之间的空白。