XPath এর মাধ্যমে XML ডেটা এক্সট্র্যাকশন

XPath (XML Path Language) - জাভা এক্সএমএল (Java XML) - Java Technologies

334

XPath (XML Path Language) একটি ভাষা যা XML ডকুমেন্টের মধ্যে নির্দিষ্ট উপাদান বা ডেটা এক্সট্র্যাক্ট করতে ব্যবহৃত হয়। XPath ব্যবহার করে আপনি XML ডকুমেন্টের নোডগুলোতে সহজেই অ্যাক্সেস পেতে পারেন এবং নির্দিষ্ট ডেটা নির্বাচন করতে পারেন।

XPath এর বৈশিষ্ট্য:

  • XPath XML ডকুমেন্টের নোডগুলোতে পাথ অনুসরণ করে (যেমন, গাছের শাখার মতো)।
  • এটি XML ডকুমেন্টের বিভিন্ন অংশের মধ্যে সরল, জটিল বা কোড-বেসড কুয়েরি করার জন্য ব্যবহার করা হয়।
  • XPath এক্সপ্রেশন XML ডকুমেন্টের ট্যাগ, অ্যাট্রিবিউট, টেক্সট কন্টেন্ট ইত্যাদি চিহ্নিত করতে ব্যবহৃত হয়।

XPath এর মাধ্যমে XML ডেটা এক্সট্র্যাকশন প্রক্রিয়া:

ধরা যাক, আমাদের একটি XML ডকুমেন্ট রয়েছে:

<employees>
    <employee>
        <id>101</id>
        <name>John Doe</name>
        <role>Software Developer</role>
    </employee>
    <employee>
        <id>102</id>
        <name>Jane Smith</name>
        <role>Project Manager</role>
    </employee>
</employees>

XPath এক্সপ্রেশন উদাহরণ:

  1. সব employee এলিমেন্ট নির্বাচন করা:

    /employees/employee
    

    এই এক্সপ্রেশনটি employees নোডের মধ্যে সমস্ত employee নোড নির্বাচন করবে।

  2. প্রথম employee এর name নির্বাচন করা:

    /employees/employee[1]/name
    

    এটি প্রথম employee এর name এলিমেন্ট নির্বাচন করবে, এবং ফলস্বরূপ "John Doe" দিবে।

  3. সব employee এর নাম নির্বাচন করা:

    /employees/employee/name
    

    এই এক্সপ্রেশনটি সমস্ত employee নোডের name এলিমেন্টগুলো নির্বাচন করবে, এবং ফলস্বরূপ John Doe এবং Jane Smith রিটার্ন করবে।

  4. id এর মান 101 এর জন্য employee নির্বাচন করা:

    /employees/employee[id='101']
    

    এই এক্সপ্রেশনটি সেই employee নোড নির্বাচন করবে যার id 101।

Java তে XPath ব্যবহার করে XML ডেটা এক্সট্র্যাকশন:

Java তে XPath ব্যবহার করার জন্য সাধারণত JAXP লাইব্রেরি ব্যবহার করা হয়। এখানে একটি উদাহরণ দেওয়া হলো:

import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.xpath.*;

public class XPathExample {
    public static void main(String[] args) throws Exception {
        // XML ডকুমেন্ট লোড করা
        String xml = "<employees><employee><id>101</id><name>John Doe</name><role>Software Developer</role></employee>" +
                     "<employee><id>102</id><name>Jane Smith</name><role>Project Manager</role></employee></employees>";

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        InputSource inputSource = new InputSource(new java.io.StringReader(xml));
        Document document = builder.parse(inputSource);

        // XPathFactory এবং XPath অবজেক্ট তৈরি করা
        XPathFactory xPathFactory = XPathFactory.newInstance();
        XPath xpath = xPathFactory.newXPath();

        // XPath এক্সপ্রেশন প্রয়োগ করা
        XPathExpression expr = xpath.compile("/employees/employee/name");
        NodeList nodeList = (NodeList) expr.evaluate(document, XPathConstants.NODESET);

        // ফলস্বরূপ প্রিন্ট করা
        for (int i = 0; i < nodeList.getLength(); i++) {
            System.out.println("Employee Name: " + nodeList.item(i).getTextContent());
        }
    }
}

উপরের কোডের ব্যাখ্যা:

  • DocumentBuilder: XML ডকুমেন্ট লোড করতে ব্যবহৃত হয়।
  • XPath: XPath এক্সপ্রেশন কপি এবং XML ডকুমেন্টে এটি প্রয়োগ করা হয়।
  • XPathExpression: XPath এক্সপ্রেশন রূপান্তর করে প্রক্রিয়া শুরু হয়।
  • NodeList: XPath দ্বারা নির্বাচিত XML নোডগুলির তালিকা প্রদান করে।

আউটপুট:

Employee Name: John Doe
Employee Name: Jane Smith

XPath এক্সপ্রেশন সংক্ষেপে:

  • /: রুট এলিমেন্ট নির্বাচন করে।
  • //: যেকোনো স্থানে একটি নোড নির্বাচন করে।
  • []: একটি নির্দিষ্ট শর্ত বা ইনডেক্সের মাধ্যমে এলিমেন্ট নির্বাচন করে।
  • @: একটি অ্যাট্রিবিউট নির্বাচন করে।

এইভাবে Java তে XPath ব্যবহার করে XML ডেটা এক্সট্র্যাকশন করতে পারেন, যা XML ডকুমেন্টের তথ্য পেতে এবং প্রক্রিয়াকরণ করতে অত্যন্ত কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...