নিম্নলিখিত এক্সএমএল থাকা:
<node>Text1<subnode/>text2</node>
এক্সপ্যাথের মাধ্যমে আমি প্রথম বা দ্বিতীয় পাঠ নোডটি কীভাবে নির্বাচন করব?
এটার মতো কিছু:
/node/text()[2]
অবশ্যই এটি কাজ করে না কারণ এটি নোডের অভ্যন্তরে প্রতিটি পাঠের মার্জড ফলাফল।
নিম্নলিখিত এক্সএমএল থাকা:
<node>Text1<subnode/>text2</node>
এক্সপ্যাথের মাধ্যমে আমি প্রথম বা দ্বিতীয় পাঠ নোডটি কীভাবে নির্বাচন করব?
এটার মতো কিছু:
/node/text()[2]
অবশ্যই এটি কাজ করে না কারণ এটি নোডের অভ্যন্তরে প্রতিটি পাঠের মার্জড ফলাফল।
উত্তর:
নিম্নলিখিত এক্সএমএল থাকা:
<node>Text1<subnode/>text2</node>
এক্সপ্যাথের মাধ্যমে আমি প্রথম বা দ্বিতীয় পাঠ নোডটি কীভাবে নির্বাচন করব?
ব্যবহার :
/node/text()
এটি এক্সএমএল ডকুমেন্টের শীর্ষ এলিমেন্টের ("নোড" নামযুক্ত) সমস্ত পাঠ্য নোড বাচ্চাদের নির্বাচন করে।
/node/text()[1]
এটি এক্সএমএল ডকুমেন্টের শীর্ষ এলিমেন্টের ("নোড" নামযুক্ত) প্রথম পাঠ্য-নোড শিশু নির্বাচন করে।
/node/text()[2]
এটি এক্সএমএল ডকুমেন্টের শীর্ষ উপাদানটির (দ্বিতীয় নাম "নোড") এর দ্বিতীয় পাঠ্য নোডের বাচ্চাকে নির্বাচন করে।
/node/text()[someInteger]
এটি এক্সএমএল ডকুমেন্টের শীর্ষ উপাদানটির ("নোড" নাম হিসাবে) কিছু ইন্টেজার-থ্রি পাঠ্য নোড বাছাই করে। এটি নিম্নলিখিত এক্সপথ এক্সপ্রেশন সমতুল্য:
/node/text()[position() = someInteger]
/node[2]
সোর্স এক্সএমএল ডকুমেন্টটি সুসংহত থাকলে অবশ্যই কোনও নোড নির্বাচন করবেন না। নামেও পরিচিত - একটি সুগঠিত এক্সএমএল নথিতে সংজ্ঞা দ্বারা শুধুমাত্র একটি (একক) শীর্ষ উপাদান আছেdocument-element
//*[text()]
যাইহোক ব্যবহার করা । /html/text()
কাজ করে না.
/html/text()
নথিতে সমস্ত পাঠ্য নোডগুলি নির্বাচন করে না - কেবলমাত্র টেক্সট নোডগুলি যা শীর্ষ, html
উপাদানটির শিশু (বংশধর নয়) are আপনি সম্ভবত চান /html//text()
। এক্সপথের কিছু জ্ঞান এবং বোঝার জন্য সাধারণত এক্সপথ এক্সপ্রেশনগুলি তৈরি করতে প্রয়োজন।
আপনার এক্সপথটি কাজ করা উচিত। আমি মার্কএলজিক এবং জোর্বা জ্যাকোয়ারি / এক্সপাথ উভয় ক্ষেত্রেই আপনার এক্সপথ এবং আমার পরীক্ষা করেছি।
দুজনেরই কাজ করা উচিত।
/node/child::text()[1] - should return Text1
/node/child::text()[2] - should return text2
/node/text()[1] - should return Text1
/node/text()[2] - should return text2
/node/text()[2]
[...] কাজ করে না কারণ এটি নোডের অভ্যন্তরে প্রতিটি পাঠ্যের মার্জড ফলাফল এটি ভুল: এর অর্থ মূল শিকড়ের দ্বিতীয় পাঠ্য নোডের শিশুnode
। স্ট্রিং মান (বংশধর টেক্সট নোড সংযুক্তকরণের) হবেstring(/node)