如何从字符串中添加xml中的childnode?

时间:2013-02-22 09:25:37

标签: java xml xml-parsing

我有一个像这样的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']的个人资料元素。但是,我不知道如何将子节点附加到其中。

2 个答案:

答案 0 :(得分: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是参数值

答案 1 :(得分:-1)

在java中,您可以在提取的节点上使用appendNode()方法