0

このようなxmlファイルがあります。私はJavaを使用しています。

<ui>
        <profile name="aaa">
             <country>India</country>
        </profile>

        <profile name="xxx">
             <country>India</country>
        </profile>
</ui>

ノードプロファイルに子ノードを追加したいのですが、属性は「aaa」です。私はこのようなxml文字列を持っています

"<gender>Male</gender><age></age>" 

期待される出力:

    <ui>
        <profile name="aaa">
             <country>India</country>
             <gender>Male</gender>
              <age></age>
        </profile>

        <profile name="xxx">
             <country>India</country>
        </profile>
</ui>

xpathを使用して、属性 "aaa" を持つプロファイル要素を見つけました /ui/profile[@name='aaa']。しかし、子ノードを追加する方法がわかりません。

4

2 に答える 2

0

次のようなことを試してください:

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

    <xsl:template
            match="ui/profile[@name = 'aaa']"
            name="add">
            <xsl:copy>
                <xsl:apply-templates select="@*|*" />

                    <xsl:element name="gender">
                        <xsl:value-of select="$gender" />
                    </xsl:element>
                    <xsl:element name="age">
                        <xsl:value-of select="$age" />
                    </xsl:element>
            </xsl:copy>
    </xsl:template>

$genderそして$ageパラメータ値です

于 2013-02-22T09:35:07.457 に答える
-1

Javaでは、抽出したノードでappendNode()メソッドを使用できます

于 2013-02-22T09:37:55.210 に答える