- It is a console application with var args
- Uses the traditional methodology to generate the xml (without a library), through of nodes and tree structure.
- Can read ANY CSV File (comma-separated & semicolon-separated)
Args are:
- [0] Input file
- [1] Output file
- [2] Element node name and optionally,
- [3] -s parameter, if you add it, program will read the csv as semicolon-separated values instead of comma-separated values.
Example of command to compile and run the program for comma-separated values:
javac CSV2XML.java
java CSV2XML inputfilePath outputFilePath element -s
The fields are separated by commas in the original file
(You can find it here)
Last name   First name	SSN             Test1   Test2   Test3   Test4   Final	Grades
Alfalfa	    Aloysius	123-45-6789	 40.0   90.0    100.0   83.0    49.0	D-
Alfred	    University	123-12-1234	 41.0   97.0    96.0    97.0    48.0	D+
Gerty	    Gramma      567-89-0123	 41.0   80.0    60.0    40.0    44.0	C
Android	    Electric	087-65-4321	 42.0   23.0    36.0    45.0    47.0	B-
Bumpkin	    Fred        456-78-9012	 43.0   78.0    88.0    77.0    45.0	A-
Rubble	    Betty       234-56-7890	 44.0   90.0    80.0    90.0    46.0	C-
Noshow	    Cecil       345-67-8901	 45.0   11.0    -1.0    4.0     43.0	F
Buff	    Bif	        632-79-9939	 46.0   20.0    30.0    40.0    50.0	B+
Airpump	    Andrew      223-45-6789	 49.0   1.0     90.0    100.0   83.0	A	
Backus	    Jim	        143-12-1234	 48.0   1.0     97.0    96.0    97.0	A+
Carnivore   Art	        565-89-0123	 44.0   1.0     80.0    60.0    40.0	D+
Dandy	    Jim	        087-75-4321	 47.0   1.0     23.0    36.0    45.0	C+
Elephant    Ima	        456-71-9012	 45.0   1.0     78.0    88.0    77.0	B-
Franklin    Benny       234-56-2890	 50.0   1.0     90.0    80.0    90.0	B-
George      Boy	        345-67-3901	 40.0   1.0     11.0    -1.0    4.0	B
Heffalump   Harvey      632-79-9439	 30.0   1.0     20.0    30.0    40.0	C
(You can find it here)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
    <elements>
        <element>
            <Lastname>Alfalfa</Lastname>
            <Firstname>Aloysius</Firstname>
            <SSN>123-45-6789</SSN>
            <Test1>40.0</Test1>
            <Test2>90.0</Test2>
            <Test3>100.0</Test3>
            <Test4>83.0</Test4>
            <Final>49.0</Final>
            <Grades>D-</Grades>
        </element>
        <element>
            <Lastname>Alfred</Lastname>
            <Firstname>University</Firstname>
            <SSN>123-12-1234</SSN>
            <Test1>41.0</Test1>
            <Test2>97.0</Test2>
            <Test3>96.0</Test3>
            <Test4>97.0</Test4>
            <Final>48.0</Final>
            <Grades>D+</Grades>
        </element>
        <element>
            <Lastname>Gerty</Lastname>
            <Firstname>Gramma</Firstname>
            <SSN>567-89-0123</SSN>
            <Test1>41.0</Test1>
            <Test2>80.0</Test2>
            <Test3>60.0</Test3>
            <Test4>40.0</Test4>
            <Final>44.0</Final>
            <Grades>C</Grades>
        </element>
        <element>
            <Lastname>Android</Lastname>
            <Firstname>Electric</Firstname>
            <SSN>087-65-4321</SSN>
            <Test1>42.0</Test1>
            <Test2>23.0</Test2>
            <Test3>36.0</Test3>
            <Test4>45.0</Test4>
            <Final>47.0</Final>
            <Grades>B-</Grades>
        </element>
        <element>
            <Lastname>Bumpkin</Lastname>
            <Firstname>Fred</Firstname>
            <SSN>456-78-9012</SSN>
            <Test1>43.0</Test1>
            <Test2>78.0</Test2>
            <Test3>88.0</Test3>
            <Test4>77.0</Test4>
            <Final>45.0</Final>
            <Grades>A-</Grades>
        </element>
        <element>
            <Lastname>Rubble</Lastname>
            <Firstname>Betty</Firstname>
            <SSN>234-56-7890</SSN>
            <Test1>44.0</Test1>
            <Test2>90.0</Test2>
            <Test3>80.0</Test3>
            <Test4>90.0</Test4>
            <Final>46.0</Final>
            <Grades>C-</Grades>
        </element>
        <element>
            <Lastname>Noshow</Lastname>
            <Firstname>Cecil</Firstname>
            <SSN>345-67-8901</SSN>
            <Test1>45.0</Test1>
            <Test2>11.0</Test2>
            <Test3>-1.0</Test3>
            <Test4>4.0</Test4>
            <Final>43.0</Final>
            <Grades>F</Grades>
        </element>
        <element>
            <Lastname>Buff</Lastname>
            <Firstname>Bif</Firstname>
            <SSN>632-79-9939</SSN>
            <Test1>46.0</Test1>
            <Test2>20.0</Test2>
            <Test3>30.0</Test3>
            <Test4>40.0</Test4>
            <Final>50.0</Final>
            <Grades>B+</Grades>
        </element>
        <element>
            <Lastname>Airpump</Lastname>
            <Firstname>Andrew</Firstname>
            <SSN>223-45-6789</SSN>
            <Test1>49.0      1.0</Test1>
            <Test2>90.0</Test2>
            <Test3>100.0</Test3>
            <Test4>83.0</Test4>
            <Final>A</Final>
        </element>
        <element>
            <Lastname>Backus</Lastname>
            <Firstname>Jim</Firstname>
            <SSN>143-12-1234</SSN>
            <Test1>48.0</Test1>
            <Test2>1.0</Test2>
            <Test3>97.0</Test3>
            <Test4>96.0</Test4>
            <Final>97.0</Final>
            <Grades>A+</Grades>
        </element>
        <element>
            <Lastname>Carnivore</Lastname>
            <Firstname>Art</Firstname>
            <SSN>565-89-0123</SSN>
            <Test1>44.0</Test1>
            <Test2>1.0</Test2>
            <Test3>80.0</Test3>
            <Test4>60.0</Test4>
            <Final>40.0</Final>
            <Grades>D+</Grades>
        </element>
        <element>
            <Lastname>Dandy</Lastname>
            <Firstname>Jim</Firstname>
            <SSN>087-75-4321</SSN>
            <Test1>47.0</Test1>
            <Test2>1.0</Test2>
            <Test3>23.0</Test3>
            <Test4>36.0</Test4>
            <Final>45.0</Final>
            <Grades>C+</Grades>
        </element>
        <element>
            <Lastname>Elephant</Lastname>
            <Firstname>Ima</Firstname>
            <SSN>456-71-9012</SSN>
            <Test1>45.0</Test1>
            <Test2>1.0</Test2>
            <Test3>78.0</Test3>
            <Test4>88.0</Test4>
            <Final>77.0</Final>
            <Grades>B-</Grades>
        </element>
        <element>
            <Lastname>Franklin</Lastname>
            <Firstname>Benny</Firstname>
            <SSN>234-56-2890</SSN>
            <Test1>50.0</Test1>
            <Test2>1.0</Test2>
            <Test3>90.0</Test3>
            <Test4>80.0</Test4>
            <Final>90.0</Final>
            <Grades>B-</Grades>
        </element>
        <element>
            <Lastname>George</Lastname>
            <Firstname>Boy</Firstname>
            <SSN>345-67-3901</SSN>
            <Test1>40.0</Test1>
            <Test2>1.0</Test2>
            <Test3>11.0</Test3>
            <Test4>-1.0</Test4>
            <Final>4.0</Final>
            <Grades>B</Grades>
        </element>
        <element>
            <Lastname>Heffalump</Lastname>
            <Firstname>Harvey</Firstname>
            <SSN>632-79-9439</SSN>
            <Test1>30.0</Test1>
            <Test2>1.0</Test2>
            <Test3>20.0</Test3>
            <Test4>30.0</Test4>
            <Final>40.0</Final>
            <Grades>C</Grades>
        </element>
    </elements>
</root>
This project is licensed under the MIT License - see the LICENSE.md file for details.
Any amount is welcome ☕💕 PayPal
