从XML文件中删除命名空间时,XSL参数值未插入到数据库中

时间:2009-12-21 12:42:22

标签: xslt

我有一个以下的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帮助我....仍然有任何困惑然后让我知道......

先谢谢。

1 个答案:

答案 0 :(得分:0)

你究竟在哪里放<xsl:element>部分?您是否在样式表中声明了<xsl:param name="FILE" />