我想从我的配置文件中读取XML节点的文本。为此,我使用Xpath读取这些值。其中一个配置值是在它的conetents之间有一个空格,所以当我读到它只是返回值直到空白为止。我的配置文件名和内容如下所示: config.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“。
发布于 2017-06-19 14:30:48
您所面临的问题是因为闭包标签似乎缺失了。我不知道这是不是一个错误。但是,当我将它保存在那里并试图将内容作为XML解析来读取时,我就能够检索它。
你能试试这个吗?
<OpsConfig>
<Tenant>mytenant_az1</Tenant>
<Client>XYZ</Client>
<ReviewID>a123456</ReviewID>
<ReferenceID>ARTL_Is Correction_Rewind_Report</ReferenceID>
</OpsConfig>我在PS第4版只是FYI。也请查看PS版本。
https://stackoverflow.com/questions/44631528
复制相似问题