我正在尝试将使用castor编组/解组来解析对象的两个xml字符串合并/组合到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
如果我将这些字符串中的任何一个单独插入数据库列,那么就会添加一条新记录。
任何人都知道如何正确地做到这一点?非常感谢!
答案 0 :(得分: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:”部分。