JSoup লাইব্রেরি ব্যবহার করে HTML ডকুমেন্টের Attributes পরিবর্তন এবং ম্যানিপুলেট (manipulate) করা অত্যন্ত সহজ। HTML ট্যাগগুলির মধ্যে থাকা Attributes যেমন id, class, href, src ইত্যাদি, JSoup এর মাধ্যমে খুব সহজেই পরিবর্তন করা যায়। এই প্রক্রিয়াটি DOM ম্যানিপুলেশন (DOM manipulation) এর একটি গুরুত্বপূর্ণ অংশ।
Attributes পরিবর্তন
HTML ডকুমেন্টে একটি নির্দিষ্ট ট্যাগের Attribute পরিবর্তন করতে JSoup এর attr() মেথড ব্যবহার করা হয়। attr() মেথড ব্যবহার করে আপনি একটি ট্যাগের নির্দিষ্ট অ্যাট্রিবিউটের মান (value) সেট বা রিট্রিভ করতে পারেন।
উদাহরণ: Attribute পরিবর্তন
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupAttributeChange {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><a href='http://example.com'>Click Here</a></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// <a> ট্যাগ এক্সট্র্যাক্ট করা
Element link = doc.select("a").first();
// 'href' অ্যাট্রিবিউট পরিবর্তন
link.attr("href", "http://newexample.com");
// পরিবর্তিত HTML প্রদর্শন
System.out.println(doc.html());
}
}
এখানে, link.attr("href", "http://newexample.com"); দিয়ে <a> ট্যাগের href অ্যাট্রিবিউটের মান পরিবর্তন করা হয়েছে। পূর্বে এটি ছিল http://example.com এবং পরিবর্তন করে http://newexample.com করা হয়েছে।
নতুন Attributes যোগ করা
JSoup দিয়ে নতুন Attributes যোগ করাও সম্ভব। attr() মেথডের মাধ্যমে নতুন অ্যাট্রিবিউটও যোগ করা যায়।
উদাহরণ: নতুন Attribute যোগ করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupAddAttribute {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><a href='http://example.com'>Click Here</a></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// <a> ট্যাগ এক্সট্র্যাক্ট করা
Element link = doc.select("a").first();
// নতুন অ্যাট্রিবিউট যোগ করা
link.attr("target", "_blank");
// পরিবর্তিত HTML প্রদর্শন
System.out.println(doc.html());
}
}
এখানে, link.attr("target", "_blank"); দিয়ে <a> ট্যাগে target নামক একটি নতুন অ্যাট্রিবিউট যোগ করা হয়েছে।
Attributes মুছে ফেলা
JSoup ব্যবহার করে একটি ট্যাগের Attributes মুছে ফেলা (remove) খুবই সহজ। removeAttr() মেথডের মাধ্যমে আপনি একটি নির্দিষ্ট অ্যাট্রিবিউট মুছে ফেলতে পারেন।
উদাহরণ: Attribute মুছে ফেলা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupRemoveAttribute {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><a href='http://example.com' target='_blank'>Click Here</a></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// <a> ট্যাগ এক্সট্র্যাক্ট করা
Element link = doc.select("a").first();
// 'target' অ্যাট্রিবিউট মুছে ফেলা
link.removeAttr("target");
// পরিবর্তিত HTML প্রদর্শন
System.out.println(doc.html());
}
}
এখানে, link.removeAttr("target"); ব্যবহার করে <a> ট্যাগ থেকে target অ্যাট্রিবিউটটি মুছে ফেলা হয়েছে।
Attributes এর সাথে কাজ করার অন্যান্য পদ্ধতি
সকল Attributes তালিকা করা
আপনি একটি ট্যাগের সব Attributes একত্রে দেখতে attributes() মেথড ব্যবহার করতে পারেন। এটি ট্যাগের সব অ্যাট্রিবিউটের একটি তালিকা প্রদান করে।
উদাহরণ: সকল Attributes দেখা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Attributes;
public class JsoupListAttributes {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><a href='http://example.com' target='_blank'>Click Here</a></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// <a> ট্যাগ এক্সট্র্যাক্ট করা
Element link = doc.select("a").first();
// সকল অ্যাট্রিবিউট বের করা
Attributes attributes = link.attributes();
// সকল অ্যাট্রিবিউট প্রদর্শন
System.out.println(attributes);
}
}
এখানে, link.attributes() দিয়ে <a> ট্যাগের সব অ্যাট্রিবিউট একত্রে দেখা যায়।
সারাংশ
JSoup দিয়ে HTML ডকুমেন্টে থাকা Attributes খুব সহজে পরিবর্তন, যোগ এবং মুছে ফেলা যায়। attr() মেথডের মাধ্যমে অ্যাট্রিবিউটের মান পরিবর্তন করা যায়, নতুন অ্যাট্রিবিউট যোগ করা যায় এবং removeAttr() মেথড দিয়ে অ্যাট্রিবিউট মুছে ফেলা সম্ভব। JSoup এর এই ক্ষমতাগুলি HTML ডকুমেন্টের মধ্যে সহজে এবং দ্রুত ম্যানিপুলেশন করতে সহায়ক।
Read more