xslt通过跳过某些元素将xml转换为文本

xslt通过跳过某些元素将xml转换为文本,xml,xslt,Xml,Xslt,我希望将XML文件转换为文本,但也希望某些元素不被转换 e、 g输入: <parent> Some parent text <child1>child text</child> more parent text </parent> 我是否可以修复此问题以包含一些子元素?此XSLT: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet ver

我希望将XML文件转换为文本,但也希望某些元素不被转换

e、 g输入:

  <parent> Some parent text
     <child1>child text</child>
       more parent text
  </parent>

我是否可以修复此问题以包含一些子元素?

此XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="no" omit-xml-declaration="yes"/>

  <xsl:template match="node()">
    <xsl:copy>
      <xsl:apply-templates select="node()"/>
    </xsl:copy>
  </xsl:template> 

  <xsl:template match="parent">
    <xsl:apply-templates select="node()"/>
  </xsl:template>

</xsl:stylesheet>
<parent> Some parent text
     <child1>child text</child1>
       more parent text
</parent>
 Some parent text
     <child1>child text</child1>
       more parent text
  <xsl:template match="child1">
    <xsl:element name="child1_NEW">
      <xsl:apply-templates select="node()"/>
    </xsl:element>
  </xsl:template>
 Some parent text
     <child1_NEW>child text</child1_NEW>
       more parent text
并以不同的方式处理它们:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="no" omit-xml-declaration="yes"/>

  <xsl:template match="node()">
    <xsl:copy>
      <xsl:apply-templates select="node()"/>
    </xsl:copy>
  </xsl:template> 

  <xsl:template match="parent">
    <xsl:apply-templates select="node()"/>
  </xsl:template>

</xsl:stylesheet>
<parent> Some parent text
     <child1>child text</child1>
       more parent text
</parent>
 Some parent text
     <child1>child text</child1>
       more parent text
  <xsl:template match="child1">
    <xsl:element name="child1_NEW">
      <xsl:apply-templates select="node()"/>
    </xsl:element>
  </xsl:template>
 Some parent text
     <child1_NEW>child text</child1_NEW>
       more parent text
一些父文本
子文本
更多父文本

如果你想要XML输出,那你为什么要使用<代码>方法=“文本”< /代码>?我可以试试看,但是正如你所看到的,期望的输出XML元素在文本的中间。我只是尝试了XML,但没有任何区别。难道你不希望<代码>父< /代码>元素出现在输出中,但其他所有元素都保持不变?不完全是其他子元素将被转换,但只有父节点的文本部分将被包括在内。它仍然忽略元素,但包含其文本。我将收回这一点,我在转换后丢失了元素,感谢这对我的帮助。