Friday, 9 December 2016

Convert XML to String as XML and XML String convert to JSON Data in JAVA

XML File:
==========
book.xml

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="COOKING">
  <title>Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>
nee to add jar file : dom-2.3.0-jaxb-1.0.6.jar , jcabi-xml-0.17.2.jar, json-20140107.jar
==================

import org.json.JSONML;
import org.json.JSONObject;
import org.json.JSONException;
import org.json.XML;

import com.sun.org.apache.xml.internal.serialize.XMLSerializer;

import java.io.*;

public class ReadXml {
public static void main(String[] args) throws IOException{
int PRETTY_PRINT_INDENT_FACTOR = 4;

File inputFile = new File("book.xml");

 Reader fileReader = new FileReader(inputFile);
       BufferedReader  bufReader = new BufferedReader(fileReader);
     
       StringBuilder  sb = new StringBuilder();
       String line = bufReader.readLine();
       while( line != null){
           sb.append(line);//.append("\n");
           line = bufReader.readLine();
       }
                String xml2String = sb.toString();
        System.out.println("XML to String using BufferedReader : ");
       System.out.println(xml2String);
   
      JSONObject   xmlJSONObj = XML.toJSONObject(xml2String);
            String  jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);
            System.out.println(jsonPrettyPrintString);
            System.out.println(xmlJSONObj.toString());
     
       bufReader.close();
}
}

output
================
XML to String using BufferedReader :
<?xml version="1.0"?><class>   <student rollno="393">      <firstname>dinkar</firstname>      <lastname>kad</lastname>      <nickname>dinkar</nickname>      <marks>85</marks>   </student>   <student rollno="493">      <firstname>Vaneet</firstname>      <lastname>Gupta</lastname>      <nickname>vinni</nickname>      <marks>95</marks>   </student>   <student rollno="593">      <firstname>jasvir</firstname>      <lastname>singn</lastname>      <nickname>jazz</nickname>      <marks>90</marks>   </student></class>
{"class": {"student": [
    {
        "firstname": "dinkar",
        "nickname": "dinkar",
        "rollno": 393,
        "marks": 85,
        "lastname": "kad"
    },
    {
        "firstname": "Vaneet",
        "nickname": "vinni",
        "rollno": 493,
        "marks": 95,
        "lastname": "Gupta"
    },
    {
        "firstname": "jasvir",
        "nickname": "jazz",
        "rollno": 593,
        "marks": 90,
        "lastname": "singn"
    }
]}}
{"class":{"student":[{"firstname":"dinkar","nickname":"dinkar","rollno":393,"marks":85,"lastname":"kad"},{"firstname":"Vaneet","nickname":"vinni","rollno":493,"marks":95,"lastname":"Gupta"},{"firstname":"jasvir","nickname":"jazz","rollno":593,"marks":90,"lastname":"singn"}]}}


No comments:

Post a Comment