ค้นหาเว็บไซต์

PowerShell: วิธีอัปเดตเนื้อหาในไฟล์ XML


บ่อยครั้งคุณอาจต้องการใช้ PowerShell เพื่ออัปเดตเนื้อหาเฉพาะในไฟล์ XML

คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:

[xml]$my_xml = Get-Content my_data.xml

foreach ($element in $my_xml.team.info) {
    $element.loc = "National Basketball Association"
}

$my_xml.Save("my_data.xml")

นี่คือสิ่งที่ตัวอย่างนี้ทำ:

  • ขั้นแรก ให้ใช้ Get-Content cmdlet เพื่อดึงเนื้อหาจากไฟล์ XML ชื่อ my_data.xml
  • จากนั้น ใช้ foreach cmdlet ตั้งค่าเนื้อหาของแต่ละโหนดด้วยโครงสร้าง team.info.loc ให้เป็น “National Basketball Association”
  • สุดท้าย ใช้คำสั่ง บันทึก เพื่อบันทึกการเปลี่ยนแปลงเหล่านี้ลงในไฟล์ XML ต้นฉบับ

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: ใช้ PowerShell เพื่ออัปเดตเนื้อหาในไฟล์ XML

สมมติว่าเรามีไฟล์ XML ชื่อ my_data.xml ในไดเรกทอรีปัจจุบันของเรา

เราสามารถใช้ Get-Content cmdlet เพื่อดูเนื้อหาของไฟล์นี้:

สมมติว่าเราต้องการเปลี่ยนข้อความ “NBA” เป็น “National Basketball Association” สำหรับแต่ละโหนดที่ลงท้ายด้วยแท็ก

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:

[xml]$my_xml = Get-Content my_data.xml

foreach ($element in $my_xml.team.info) {
    $element.loc = "National Basketball Association"
}

$my_xml.Save("my_data.xml")

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

โปรดสังเกตว่าข้อความ “NBA” แต่ละรายการจะถูกแทนที่ด้วย “National Basketball Association” แทน

คุณสามารถใช้ไวยากรณ์ที่คล้ายกันเพื่ออัปเดตเนื้อหาเฉพาะที่คุณต้องการในไฟล์ XML ของคุณเองได้

หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับคำสั่ง foreach ใน PowerShell ได้ที่นี่

บทความที่เกี่ยวข้อง