-1

我正在尝试合并/组合两个 xml 字符串,这些字符串是使用 castor 编组/解组将对象解析为 XML 时得到的。这是我拥有的两个 XML 字符串:

<?xml version="1.0" encoding="UTF-8"?>
<abc:abcResponse xmlns:abc="http://www.abc.com/schema/abcTransaction">
    <abc:code>0</abc:code>
    <abc:description>blah</abc:description>
</abc:abcResponse>

<?xml version="1.0" encoding="UTF-8"?>
<abc:abcRequest xmlns:abc="http://www.abc.com/schema/abcTransaction">
    <abc:id>99999</abc:id>
    <abc:idString>abc</abc:idString>
</abc:abcRequest>

我希望能够将这两个字符串组合成一个字符串,这样我就可以将它插入到具有 XML 数据类型的数据库 (MSSQL) 列中。我尝试使用此链接java merge two xml strings in java建议的解决方案,但它似乎没有将其识别为有效的 XML 字符串,因为没有记录被插入到数据库表中,并且我的控制台中有这个错误:

com.microsoft.sqlserver.jdbc.SQLServerException: XML parsing: line 1, character 12,   text/xmldecl not at the beginning of input

如果我将这些字符串中的任何一个单独插入到数据库列中,那么将添加一条新记录就可以了。

任何人都知道如何正确地做到这一点?非常感谢!

4

1 回答 1

4

您应该创建类似以下的内容(“abcTransaction”是一个疯狂的猜测)。

<?xml version="1.0" encoding="UTF-8"?>
<abc:abcTransaction xmlns:abc="http://www.abc.com/schema/abcTransaction">
    <abc:abcRequest>
        <abc:id>99999</abc:id>
        <abc:idString>abc</abc:idString>
    </abc:abcRequest>
    <abc:abcResponse>
        <abc:code>0</abc:code>
        <abc:description>blah</abc:description>
    </abc:abcResponse>
</abc:abcTransaction>

甚至可以省略 xmlns 和“abc:”部分。

于 2013-07-17T14:19:00.063 回答