这可能听起来很奇怪,但我需要将所有空标签转换为一对打开和关闭标签,中间有一个carrage返回。提前谢谢。
来自
<OBR>
<OBR_31_Lab_Ins_Typ_Id>L</OBR_31_Lab_Ins_Typ_Id>
<OBX>
<OBX_3_Ltt_Cd>N877</OBX_3_Ltt_Cd>
<OBX_5_1_Lbr_No>0</OBX_5_1_Lbr_No>
<OBX_5_2_Lbr_Tx/>
<OBX_6_Lbr_Unt_Tx/>
</OBX>
<OBX>
<OBX_3_Ltt_Cd>N878</OBX_3_Ltt_Cd>
<OBX_5_1_Lbr_No>-15</OBX_5_1_Lbr_No>
<OBX_5_2_Lbr_Tx/>
<OBX_6_Lbr_Unt_Tx/>
</OBX>
<OBR>
到
<OBR>
<OBR_31_Lab_Ins_Typ_Id>L</OBR_31_Lab_Ins_Typ_Id>
<OBX>
<OBX_3_Ltt_Cd>N877</OBX_3_Ltt_Cd>
<OBX_5_1_Lbr_No>0</OBX_5_1_Lbr_No>
<OBX_5_2_Lbr_Tx>
</OBX_5_2_Lbr_Tx>
<OBX_6_Lbr_Unt_Tx>
</OBX_6_Lbr_Unt_Tx>
</OBX>
<OBX>
<OBX_3_Ltt_Cd>N878</OBX_3_Ltt_Cd>
<OBX_5_1_Lbr_No>-15</OBX_5_1_Lbr_No>
<OBX_5_2_Lbr_Tx>
</OBX_5_2_Lbr_Tx>
<OBX_6_Lbr_Unt_Tx>
</OBX_6_Lbr_Unt_Tx>
</OBX>
<OBR>
答案 0 :(得分:3)
使用:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[not(node())]">
<xsl:copy>
<xsl:text> </xsl:text>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:0)
你可以使用这样的正则表达式:
s/\<([a-zA-z0-9-_]+(\s+[a-zA-z0-9-_]+=".*?")*?\s*\/\>/<$1>\n\n<\/$1>/g