如何通过脚本从XML文件提取RfcNumber值并赋值给变量?
提取XML中RfcNumber值的PowerShell解决方法
你之前用字符串分割的方法行不通,原因有两点:一是你写的分割串<d:RfcNumber>和实际XML里的<Property Name="RfcNumber">节点不匹配;二是字符串分割完全依赖固定文本结构,XML格式稍有变化就会失效。正确的做法是用PowerShell自带的XML解析能力,以下是两种可靠的实现方式:
方式一:遍历XML节点提取
如果$response是XML格式的字符串,先转换为XML对象,再定位目标节点:
# 把字符串转为XML对象 $xml = [xml]$response # 筛选出Name为RfcNumber的Property节点,提取其文本内容 $rfc = ($xml.Objects.Object.Property.Property | Where-Object Name -eq 'RfcNumber').'#text' # 输出结果 $rfc
方式二:用XPath直接定位
XPath可以快速定位到目标节点,代码更简洁:
$xml = [xml]$response # 通过XPath匹配Name属性为RfcNumber的Property节点,提取文本 $rfc = $xml.SelectSingleNode("//Property[@Name='RfcNumber']").'#text' $rfc
内容的提问来源于stack exchange,提问作者gaurav sharma
相关产品推荐
相关产品推荐

