xsl как удалить много xml элементов в родительском с помощью xsl - PullRequest
0 голосов
/ 27 мая 2020

У меня есть структура xml, как показано ниже:

<Parent>
<child1></child1>
<child2></child2>
<child3></child3>
...
...
</Parent>

Допустим, есть около 20 дочерних элементов xml элементов, которые необходимо удалить, и только 3 xml элементов под <Parent> Element.

Я знаю, что с использованием шаблона удостоверения, например, приведенный ниже шаблон может удалить один элемент в файле xml.

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

Но дело в том, что я должен удалить 20 xml дочерних элементов и оставить только 3 из них. Как сделать код как можно меньше, чтобы реализовать это?

1 Ответ

1 голос
/ 27 мая 2020

Разобрался сам. Я сделал следующее:

<xsl:template match="Parent">
<xsl:copy>
     <xsl:apply-templates select="child1"/>
     <xsl:apply-templates select="child2"/>
     <xsl:apply-templates select="child3"/>
  </xsl:copy>

</xsl:template>

И применил шаблоны к родительскому узлу <Patent>

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