gpt4 book ai didi

java - 跨子节点移动元素

转载 作者:行者123 更新时间:2023-12-01 23:27:01 24 4
gpt4 key购买 nike

我在主题下有多个子节点。我需要将元素从一个子节点 [根据条件] 移动到另一个子节点 [根据条件]。

我的输入 xml 如下所示。我想遍历所有主题并将类元素从 title="wildlife"复制到 title="books"。

   <node-A>
<logs>abc</logs>
<topics>
<topic>
<topic-header>
<title>wildlife</title>
</topic-header>
<basis>
<variant>
<property>
<class code="books" description="books" sourceSystem="">books
</class>
</property>
</variant>
</basis>
</topic>
<topic>
<topic-header>
<title>library</title>
</topic-header>
<basis>
<variant>
<property>
<x></x>
<y></y>
<z></z>
</property>
</variant>
</basis>
</topic>
</topics>
</node-A>

我的输出 XML 应如下所示:

    <node-A>
<logs>abc</logs>
<topics>
<topic>
<topic-header>
<title>wildlife</title>
</topic-header>
<basis>
<variant>
<property>
<class code="books" description="books" sourceSystem="">books
</class>
</property>
</variant>
</basis>
</topic>
<topic>
<topic-header>
<title>library</title>
</topic-header>
<basis>
<variant>
<property>
<x></x>
<y></y>
<z></z>
<class code="books" description="books" sourceSystem="">books
</class>
</property>
</variant>
</basis>
</topic>
</topics>
</node-A>

最佳答案

你可以试试这个:

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="property[not(class)]">
<xsl:copy>
<xsl:apply-templates/>
<xsl:apply-templates select="//property/class"/>
</xsl:copy>
</xsl:template>

关于java - 跨子节点移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com