【发布时间】:2017-06-21 00:51:43
【问题描述】:
我想从我的配置文件中读取一个 XML 节点的文本。为此,我使用 Xpath 来读取这些值。配置值之一是它的内容之间有空格,所以当我读到它只是将值返回到空白处。 我的配置文件名和内容如下 配置.xml
<?xml version="1.0" encoding="UTF-8"?>
<OpsConfig>
<Tenant>mytenant_az1</Tenant>
<Client>XYZ</Client>
<ReviewID>a123456</ReviewID>
<ReferenceID>ARTL_Is Correction_Rewind_Report</ReferenceID>
<OpsConfig>
我能够成功读取标签值,但标签 ReferenceID 除外。 下面是代码:
$configFile = "config.xml"
[xml]$confXml = Get-Content $configFile
$refIds = $confXml | Select-XML -XPath "//OpsConfig/ReferenceID"
Write-Host $refIds
变量 $refIds 只返回“ARTL_Is”。它在空格之后跳过内容。我尝试通过附加空间的十六进制值,但仍然没有返回整个值“ARTL_Is Correction_Rewind_Report”。
【问题讨论】:
-
你的xml结束标签有错误;缺少
/。尚未编辑,因为这可能与您的问题有关。对我来说,我得到了完整的字符串“ARTL_Is Correction_Rewind_Report”。您使用的是哪个版本的 PowerShell? -
@gms0ulman:谢谢。在帖子中,我错过了结束标签。但在原始的 xml 文件中它就在那里。刚刚重新访问了整个 ps 代码,发现 split 函数用于将值拆分为空格作为分隔符。因此得到了该部分值。
标签: xml powershell xpath