以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  带DTD的xml文件, 转换为单个的xml文件--新手,请教xml高人  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=50252)


--  作者:zhouwenhuii@gmail.co
--  发布时间:7/19/2007 4:18:00 PM

--  带DTD的xml文件, 转换为单个的xml文件--新手,请教xml高人
以下带DTD的xml文件内容,
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE labels SYSTEM "label.dtd">
<label>
<variable name= "BOM_RESOURCE">sdf</variable>
<variable name= "COST_GROUP">wesd</variable>
<variable name= "CURRENT_DATE">x07x142007</variable>
<variable name= "UOM">x14B</variable>
<variable name= "WIP_OPERATION_SEQ_NUM">sd</variable>
</label>

现在想转换为以下xml文件
<?xml version = '1.0'?>
<ROWSET>
  <ROW num="1">
      <BOM_RESOURCE>sdf</BOM_RESOURCE>
      <COST_GROUP>wesd</COST_GROUP>
      <CURRENT_DATE>x07x142007</CURRENT_DATE>
      <UOM>x14B</UOM>
      <WIP_OPERATION_SEQ_NUM>sd</WIP_OPERATION_SEQ_NUM>
   </ROW>
</ROWSET>


怎么实现这个转换?
多谢你的回复.


--  作者:zhouwenhuii@gmail.co
--  发布时间:7/19/2007 4:24:00 PM

--  
这个问题的原因是: 要写一个程序把一个带DTD的XML文件,按每个字段导入到oracle database的一个table中, 我没有XML的经验. 不带DTD的xml文件, 现在已经可以导入到table中. 因此,需要这个转换.
--  作者:zhouwenhuii@gmail.co
--  发布时间:7/19/2007 4:30:00 PM

--  
或者,有人能提供一个代码把,那个带DTD的xml文件,按字段直接导入到oracle中. java或者pl/sql代码都可以.
下面这个java代码只能导入不带DTD的xml文件.

import oracle.xml.sql.dml.*;
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.jdbc.*;
import java.net.*;

public class insert_xml
{
public static void main (String args[]) throws SQLException
{
String tabName =args[0]; // table into which to insert
String fileName =args[1]; // file containing the xml doc
String Jdbc_conn =args[2];  //"jdbc:oracle:thin:@localhost:1521:vis"; //
String userid =args[3];  // userid
String userid_pwd =args[4]; // userid password

DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(Jdbc_conn, userid , userid_pwd);
                             // @machineName:port:SID,   userid,  password

OracleXMLSave sav = new OracleXMLSave(conn,tabName);
URL url = sav.createURL(fileName);
int rowCount = sav.insertXML(url); //(sav.getURL(args[0]));
System.out.println("successfully inserted "+rowCount+ "rows into "+tabName);
conn.close();
}
}


--  作者:cn1h
--  发布时间:7/27/2007 1:05:00 AM

--  
我觉得这是xsl的问题,和dtd有什么关系吗?
--  作者:lish
--  发布时间:9/12/2007 4:11:00 PM

--  
thans very much
--  作者:乌云
--  发布时间:10/8/2007 10:14:00 PM

--  
学习,,支持下,,,
--  作者:xiaowangzi
--  发布时间:10/16/2007 7:17:00 PM

--  
用DTD 转也成
我学的是这个
在出版社呢
出版社 现在主打这个
--  作者:dtplee
--  发布时间:6/9/2008 10:50:00 AM

--  
用XML编辑器做属性替换元素的批处理!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
50.781ms