[
Lists Home |
Date Index |
Thread Index
]
>I have a situation to create an XML output based on a
>DTD and pipe delimited data file, meaning the inputs
>are a DTD which is variable and a pipe delimited file
>with data for the tags in the DTD, the output should
>be an XML file.
>
>I have not heard of any pre-build general program
>(kinda parser) to do this function. I wanted to double
>check with ya all.
>
>Any input would be highly useful.
The following is a quick & dirty approach, which works as long as the source
file is table-like:
http://www.isacat.net/2001/code/CSVtoXML.htm
Rather than taking a DTD as the definition (not a bad idea...) it takes a
simple text file giving the field names etc. Example below.
Cheers,
Danny.
source data:
John Smith, The Nook, john@home.com,
Tim Bot, High Street, tim@bonker.co.uk,
Fred Gregory, Tidza, fred@large.com
properties file:
dtd=addresses.dtd
comment=Generated using CSVToXML
delimiter=,
rootname=addressbook
recordname=address
fields=3
field0=name
field1=address
field2=email
usage:
java CSVToXML [properties file] [source file] [destination file]
output:
<?xml version="1.0"?>
<DOCTYPE addressbook SYSTEM addresses.dtd>
<!-- Generated using CSVToXML -->
<addressbook>
<address>
<name>John Smith</name>
<address>The Nook</address>
<email>john@home.com</email>
</address>
<address>
<name>Tim Bot</name>
<address>High Street</address>
<email>tim@bonker.co.uk</email>
</address>
<address>
<name>Fred Gregory</name>
<address>Tidza</address>
<email>fred@large.com</email>
</address>
</addressbook>
|