Apache Xerces একটি শক্তিশালী XML পার্সিং লাইব্রেরি যা XML ডেটা পার্স, ভ্যালিডেশন এবং প্রসেসিংয়ের জন্য ব্যবহৃত হয়। যদিও Xerces মূলত XML ডেটার সাথে কাজ করার জন্য ডিজাইন করা হয়েছে, তবে আমরা XML থেকে JSON এবং JSON থেকে XML রূপান্তরের জন্য Xerces এর সাথে অন্যান্য লাইব্রেরি যেমন Jackson বা Gson ব্যবহার করতে পারি।
এখানে, আমরা Apache Xerces ব্যবহার করে XML থেকে JSON এবং JSON থেকে XML ডেটার রূপান্তর করার পদ্ধতি দেখব।
১. XML থেকে JSON রূপান্তর
১.১. XML থেকে JSON রূপান্তর করার জন্য Jackson লাইব্রেরি ব্যবহার করা
Jackson হল একটি জনপ্রিয় JSON লাইব্রেরি যা XML ডেটাকে JSON ফরম্যাটে রূপান্তর করতে সহায়তা করে। Apache Xerces XML ডেটাকে পার্স করার জন্য ব্যবহৃত হবে এবং Jackson সেই XML ডেটাকে JSON এ রূপান্তর করবে।
১.২. Maven Dependency
প্রথমে, আপনার pom.xml ফাইলে Apache Xerces এবং Jackson লাইব্রেরি যোগ করুন:
<dependencies>
<!-- Apache Xerces Dependency -->
<dependency>
<groupId>org.apache.xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>
<!-- Jackson XML to JSON Dependency -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.13.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
</dependencies>
১.৩. XML থেকে JSON রূপান্তরের উদাহরণ
ধরা যাক, আমাদের একটি XML ডকুমেন্ট আছে এবং আমরা সেটি JSON এ রূপান্তর করতে চাই।
Person XML (person.xml):
<person>
<name>John Doe</name>
<age>30</age>
</person>
Java কোড – XML থেকে JSON রূপান্তর:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
public class XMLToJsonExample {
public static void main(String[] args) {
try {
// Create an XML parser
DOMParser parser = new DOMParser();
parser.parse("person.xml");
// Get the XML document
org.w3c.dom.Document document = parser.getDocument();
// Use Jackson to convert XML to JSON
XmlMapper xmlMapper = new XmlMapper();
String json = xmlMapper.writeValueAsString(document);
// Print the JSON output
System.out.println("JSON Output: ");
System.out.println(json);
} catch (SAXException | IOException e) {
e.printStackTrace();
}
}
}
আউটপুট (JSON):
{
"person": {
"name": "John Doe",
"age": "30"
}
}
এখানে Jackson XmlMapper ব্যবহার করে XML ডেটাকে JSON এ রূপান্তরিত করা হয়েছে। Apache Xerces শুধু XML ডেটা পার্স করার জন্য ব্যবহৃত হয়েছে।
২. JSON থেকে XML রূপান্তর
২.১. JSON থেকে XML রূপান্তর করার জন্য Jackson লাইব্রেরি ব্যবহার করা
Jackson লাইব্রেরি ব্যবহার করে JSON ডেটাকে XML ফরম্যাটে রূপান্তর করা সম্ভব। আমরা Jackson এর XmlMapper ব্যবহার করে JSON ডেটা XML ফরম্যাটে রূপান্তর করব।
২.২. Maven Dependency
প্রথমে, Jackson এর XML মডিউল যোগ করুন আপনার pom.xml ফাইলে:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.13.1</version>
</dependency>
২.৩. JSON থেকে XML রূপান্তরের উদাহরণ
ধরা যাক, আমাদের একটি JSON ডকুমেন্ট আছে এবং আমরা সেটি XML এ রূপান্তর করতে চাই।
Person JSON (person.json):
{
"person": {
"name": "John Doe",
"age": 30
}
}
Java কোড – JSON থেকে XML রূপান্তর:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import java.io.File;
import java.io.IOException;
public class JsonToXMLExample {
public static void main(String[] args) {
try {
// Create an ObjectMapper for JSON
ObjectMapper objectMapper = new ObjectMapper();
// Read the JSON file into a Java object
File jsonFile = new File("person.json");
Person person = objectMapper.readValue(jsonFile, Person.class);
// Use Jackson's XmlMapper to convert the Java object to XML
XmlMapper xmlMapper = new XmlMapper();
String xml = xmlMapper.writeValueAsString(person);
// Print the XML output
System.out.println("XML Output: ");
System.out.println(xml);
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
আউটপুট (XML):
<person>
<name>John Doe</name>
<age>30</age>
</person>
এখানে, Jackson এর XmlMapper ব্যবহার করে JSON ডেটা XML ফরম্যাটে রূপান্তরিত করা হয়েছে।
৩. Xerces এবং JSON রূপান্তরের মধ্যে সম্পর্ক
Apache Xerces মূলত XML ডেটার পার্সিং এবং ভ্যালিডেশন করার জন্য ডিজাইন করা হয়েছে, তবে আপনি JSON রূপান্তরের জন্য Jackson বা Gson এর মতো লাইব্রেরি ব্যবহার করতে পারেন। Xerces লাইব্রেরি XML পার্সিংয়ের জন্য শক্তিশালী এবং কার্যকরী, এবং JSON রূপান্তরের জন্য তা তৃতীয় পক্ষের লাইব্রেরির সঙ্গে একসাথে ব্যবহার করা যেতে পারে।
Apache Xerces এর মাধ্যমে আপনি XML ডেটাকে পার্স এবং ভ্যালিডেট করতে পারেন এবং পরে JSON বা অন্য ফরম্যাটে রূপান্তরের জন্য Jackson বা অন্য লাইব্রেরি ব্যবহার করতে পারেন।
সারাংশ
Apache Xerces ব্যবহার করে আপনি XML ডেটাকে পার্স এবং ভ্যালিডেট করতে পারেন, কিন্তু XML থেকে JSON এবং JSON থেকে XML রূপান্তরের জন্য আপনি Jackson বা Gson এর মতো লাইব্রেরি ব্যবহার করতে পারেন। Jackson লাইব্রেরি সহজেই XML এবং JSON ডেটার মধ্যে রূপান্তর করতে সক্ষম, এবং Xerces XML ডেটা পার্স করার জন্য একটি শক্তিশালী টুল। একসাথে ব্যবহার করে আপনি XML এবং JSON ফরম্যাটের মধ্যে ডেটা এক্সচেঞ্জ করতে পারেন।
Read more