我有一个以下的xml文件。
T0020.xml
SAFER 04.02 01.00 更换 2009-09-01T00:00:00 CT 274845 我们 AR 55002 一世 100 2007-11-06 2009-08-03
我必须将xml数据插入下表
IRP_ACCOUNT
FILE_NAME VARCHAR2(120) IRP_ACCOUNT_NUMBER VARCHAR2(32) IRP_ACCOUNT_TYPE VARCHAR2(1) IRP_CARRIER_ID_NUMBER VARCHAR2(12) IRP_BASE_COUNTRY VARCHAR2(12) IRP_BASE_STATE VARCHAR2(12) IRP_STATUS_CODE VARCHAR2(12) IRP_STATUS_DATE VARCHAR2(10) IRP_UPDATE_DATE VARCHAR2(10)
我将xml数据插入数据库的代码是......
OracleXMLSave oracleXMLSave = new OracleXMLSave(conn,tableNamePro);
//set XSL file.
File xslFileName = new File(CviewFileReader.readFileFromClassPathAsURL(xslFolderLocation + "/" + rootNode.trim() + "/" + xslFileNamePro.trim() + ".xsl").getFile().substring(1).replace("%20", " "));
Reader xsltReader=new FileReader(xslFileName);
oracleXMLSave.setXSLT(xsltReader, null);
//set fileNameParameterValueIn XLS file. so this value insert into database table as "FILE_VALUE" field.
oracleXMLSave.setXSLTParam("FILE_NAME", "'" + onlyXMLfileName + "'");
//set row separter value.
oracleXMLSave.setRowTag(xmlRowTagVal);
//set ignoreCase to true.
oracleXMLSave.setIgnoreCase(true);
//give here XML file path
FileInputStream xmlFileNameForInserting = new FileInputStream(xmlFileName.getAbsoluteFile());
oracleXMLSave.insertXML(xmlFileNameForInserting);
我的用于插入数据的XSLT文件是......
当应用此xslt插入数据库时,仅通过xslt参数传递的FILE_NAME值未插入数据库。
如下所示,除了FILE_NAME外,所有值都会被插入。
FILE_NAME IRP_ACCOUNT_NUMBER IRP_ACCOUNT_TYPE IRP_CARRIER_ID_NUMBER IRP_BASE_COUNTRY IRP_BASE_STATE IRP_STATUS_CODE IRP_STATUS_DATE IRP_UPDATE_DATE
55002 I 274845 US AR 100 2007-11-06 2009-08-03
我一直坚持这一点请Pls帮助我....仍然有任何困惑然后让我知道......
先谢谢。
答案 0 :(得分:0)
你究竟在哪里放<xsl:element>
部分?您是否在样式表中声明了<xsl:param name="FILE" />
?