Oracle对XML格式数据的存取
网上大部分的例子都是错误的最关键的地方就是要把表示ROW的标签设为rowTag,比如:
<?xml version='1.0'?>
<root>
<record>
<column1>aaaa</column1>
<column2>bbbb</column2>
</record>
</root>
假如你的表是
table aaa
(
aaa varchar(20),
bbb varchar(20)
)
那么要指定哪个标签是记录开始啊.这儿就要指定
save.setRowTag("record");
一般从原来的表中得到的XML是用固定的rowsettag和rowtag.名字叫
ROWSET和RWO
比如:
<?xml version='1.0'?>
<ROWSET>
<ROW num="1">
<column1>aaaa</column1>
<column2>bbbb</column2>
</ROW>
</ROWSET>
但你在得到字符串前可是指定你想要的名字:
qry.setRowSetTag("TABLENAME");
qry.setRowTag("RECORDNAME");
这样就会得到
<?xml version='1.0'?>
<TABLENAME>
<RECORDNAME num="1">
<column1>aaaa</column1>
<column2>bbbb</column2>
</RECORDNAME>
</TABLENAME>
所以你写进去的时候只要指定对应的标签为ROWTAG就行了:
save.setRowTag("RECORDNAME");
save.insertXML(xml);就OK了.
另外,特别要注意XML是大小写敏感的,你的RECORDNAME和recordname是两个不同的tag
补充:Jsp教程,Jsp/Servlet开发工具