You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell解析XML问题:无法通过点符号获取特定Quantity字段值

PowerShell解析XML获取指定Quantity值

问题分析

你需要获取XML第7行(第一个<OrderDetail>节点)的Quantity属性值,当前已成功加载XML并获取到Customer节点,但未深入到下层的Order和OrderDetail节点。

解决步骤

在PowerShell中处理XML时,多个同名节点会被解析为数组,需要通过索引(从0开始)指定目标节点,再通过点符号访问属性。

具体代码

# 加载XML文件
[xml]$xmlElm = Get-Content -Path "C:\Users\Admin\Downloads\Test1.xml"

# 直接通过点符号链式访问目标Quantity值
$targetQuantity = $xmlElm.ROOT.Customers.Customer[0].Orders.Order[0].OrderDetail[0].Quantity

# 输出结果
$targetQuantity

代码解释

  • Customer[0]:选择第一个<Customer>节点(对应XML中Arshad Ali的记录)
  • Orders.Order[0]:选择该Customer下的第一个<Order>节点
  • OrderDetail[0]:选择该Order下的第一个<OrderDetail>节点(即XML第7行的节点)
  • .Quantity:获取该节点的Quantity属性值

输出结果

5

扩展:遍历所有Quantity值

如果需要获取所有OrderDetail的Quantity值,可以用循环遍历:

foreach ($customer in $xmlElm.ROOT.Customers.Customer) {
    foreach ($order in $customer.Orders.Order) {
        foreach ($detail in $order.OrderDetail) {
            Write-Output "Customer: $($customer.CustomerName), OrderID: $($order.OrderID), Quantity: $($detail.Quantity)"
        }
    }
}

内容的提问来源于stack exchange,提问作者Mirco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:22:49