পাওয়ারশেল ব্যবহার করে প্রদত্ত চাইল্ড নোডের পিতামাতার নোডটি কীভাবে পাবেন?


-1

আমি পাওয়ারশেলে নতুন new আমাকে একটি স্ক্রিপ্ট লিখতে হবে যা চাইল্ড নোডটি পাস করে আমাকে প্রথম প্যারেন্ট (নোড) মানটি ফিরিয়ে দিতে পারে।

আমি নিম্নলিখিত এক্সএমএল আছে। যখন আমি আমার পাওয়ারশেল স্ক্রিপ্টটি "AAA" মানটি পাস করি তখন এটি "প্যারেন্ট 2" ফিরে আসে এবং আমি যখন "III" পাস করি তখন এটি "প্যারেন্ট311" ফিরে আসে।

কেউ আমাকে এই স্ক্রিপ্টটি লিখতে সহায়তা করতে পারে?

এক্সএমএল:

<root>
  <parent>
    <parent2>
      <child>AAA</child>
    </parent2>
    <parent3>
      <child>BBB</child>
      <child>CCC</child>
      <child>DDD</child>
    </parent3>
    <parent4>
      <child>EEE</child>
    </parent4>
    <parent5>
      <child>FFF</child>
    </parent5>
  </parent>
  <parent21>
    <parent211>
      <child>GGG</child>
    </parent211>
    <parent311>
      <child>HHH</child>
      <child>III</child>
      <child>JJJ</child>
    </parent311>
    <parent411>
      <child>KKK</child>
    </parent411>
    <parent511>
      <child>LLL</child>
    </parent511>
  </parent21>
</root>

আমি চাইল্ড ট্যাগের বিশদ প্রদর্শন করতে সক্ষম হয়েছি, সন্তানের মান দিয়ে প্যারেন্ট ট্যাগের বিশদটি কীভাবে পাবেন তা আমি জানি না। এবং আমি এই পাওয়ারশেলের কাছে নতুন। এটি পুনরায় চালু করার কোনও বিকল্প থাকলে দয়া করে আমাকে জানান।
কুমার

উত্তর:


0

আপনার যদি শিশু নোডের একটি রেফারেন্স থাকে তবে আপনি উপযুক্ত নামযুক্ত ParentNodeসম্পত্তি ব্যবহার করে এর প্যারেন্ট নোডটি পেতে পারেন । উদাহরণস্বরূপ, আপনার পোস্ট করা এক্সএমএল ফাইলটি সহ:

$xml = [xml](Get-Content file.xml)
$child = $xml.SelectSingleNode("root/parent/parent2/child")
$child.ParentNode.Name

অবশ্যই, আপনি সম্ভবত সন্তানের চেয়ে নোড পেতে অন্য কোনও পদ্ধতি ব্যবহার করেন SelectSingleNode()তবে এটি উদাহরণটি উদাহরণস্বরূপ বর্ণনা করে। উপরের ফলাফল হবে:

parent2

আপনাকে অনেক ধন্যবাদ. তবে আমাকে একটি স্ক্রিপ্ট লিখতে হবে যেখানে কেবল "বাচ্চা" কে "রুট / পিতা / মাতা / পিতা / মাতা 2 / সন্তানের" হিসাবে পুরো পথ নয়, আমাদের যদি সেই পথে যেতে কোন উপায় থাকে তবে দয়া করে আমাকে জানান। ধন্যবাদ
কুমার

@ কুমার ওয়েল, আপনি বলেছিলেন যে আপনি "চাইল্ড ট্যাগের বিশদ প্রদর্শন করতে সক্ষম", যা থেকে আমি বুঝতে পেরেছি যে আপনার কাছে ইতিমধ্যে শিশু নোডের নাম নেওয়ার কোড রয়েছে এবং এর একটি রেফারেন্স পাবেন। SelectSingleNode()আমার উত্তরটিতে একটি উদাহরণ ছিল, আপনার এটির আসল কোডটি দিয়ে প্রতিস্থাপন করা উচিত। অথবা, যদি আমি ভুল বুঝে থাকি তবে সম্ভবত আপনার কোন কোড রয়েছে এবং এটি কী করে তা দেখানোর জন্য আপনি প্রশ্নটি সম্পাদনা করতে পারেন?
ইন্দ্রেইক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.