Скопируйте xml с помощью xslt, пропуская узлы верхнего уровня - PullRequest
0 голосов
/ 28 марта 2012

Как скопировать XML-документ, пропуская некоторые узлы верхнего уровня.Например:

Ввод:

<root>
 <subroot>
   <nodeX id="1">
     <!-- inner structure -->
   </nodeX>
   <nodeX id="2">
     <!-- inner structure -->
   </nodeX>
   <!-- other nodes -->
  </subroot>
<root>

Ввод:

   <nodeX id="1">
     <!-- inner structure -->
   </nodeX>
   <nodeX id="2">
     <!-- inner structure -->
   </nodeX>

1 Ответ

3 голосов
/ 28 марта 2012
<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="root | subroot">
  <xsl:apply-templates/>
</xsl:template>

следует.Если вы хотите или хотите что-то более общее, то сделайте второй шаблон

<xsl:template match="/* | /*/*">
  <xsl:apply-templates/>
</xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...