Xml 在与xsi:nil=";合并后用xslt删除空白;“真的”;要素
我使用XSLT1.0合并了两个xml文件。第二个文件中的许多元素都具有xsi:nil=“true”属性,并显示如下内容Xml 在与xsi:nil=";合并后用xslt删除空白;“真的”;要素,xml,xslt-1.0,Xml,Xslt 1.0,我使用XSLT1.0合并了两个xml文件。第二个文件中的许多元素都具有xsi:nil=“true”属性,并显示如下内容 <my:DoorType xsi:nil="true"></my:DoorType> 将这两个文件与我的xslt(如下所示)合并后,生成的xml中有一个空格。我需要删除空格,以便DoorType元素存在但没有值。我更喜欢在同一个xslt文件中执行此操作,而不是在独立的xslt文件中 <xsl:template match="my:DoorTy
<my:DoorType xsi:nil="true"></my:DoorType>
将这两个文件与我的xslt(如下所示)合并后,生成的xml中有一个空格。我需要删除空格,以便DoorType元素存在但没有值。我更喜欢在同一个xslt文件中执行此操作,而不是在独立的xslt文件中
<xsl:template match="my:DoorType">
<xsl:copy>
<xsl:apply-templates select="*"/>
<xsl:apply-templates select="document('file:\\\C:\Users\template.xml')/my:DoorType/*" />
</xsl:copy>
</xsl:template>
实际结果
<my:DoorType xsi:nil="true"> </my:DoorType>
期望结果
<my:DoorType xsi:nil="true"></my:DoorType>
请为我们提供一个(简短)的方法来重现问题-请参阅。由于我的文件的复杂性,这非常困难。然后生成一个简化的示例。我不明白发布的代码为什么会创建任何xsi:nil
属性,因为您既不复制也不创建它。您处理的输入元素真的是空的,没有任何子内容吗?所有处理任何子元素的
和
都没有意义。也许您只是需要,例如
。