PowerShell从API返回的JSON/XML中提取number值并赋值变量
PowerShell提取XML中的number值方法
直接处理XML是最省事的,不用转JSON,给你两种常见场景的处理方式:
场景1:已经拿到XML字符串
如果API返回的内容你已经存在变量里(比如$xmlString),直接转成XML对象后提取值:
# 假设这是你从API拿到的XML字符串 $xmlString = @" <result> <number>INC000955442</number> </result> "@ # 把字符串转成PowerShell可操作的XML对象 $xmlDoc = [xml]$xmlString # 提取number字段的值,赋值给变量 $incidentNumber = $xmlDoc.result.number # 可以输出验证一下 Write-Host "提取到的工单编号:$incidentNumber"
场景2:直接调用API获取XML
如果是用Invoke-RestMethod调用API,这个命令会自动把XML响应转换成对象,直接访问属性就行:
# 调用API获取响应(替换成你的实际URL) $apiResponse = Invoke-RestMethod -Uri "https://your-api-url-here" -Method Get # 直接提取number值 $incidentNumber = $apiResponse.result.number
原理很简单:PowerShell的[xml]类型加速器会把XML字符串解析成层级对象,你可以通过.直接访问节点属性,因为你已经确保只有一条结果,不用额外循环处理。
内容的提问来源于stack exchange,提问作者Joseph Dicks
相关产品推荐
相关产品推荐

