我想從我的配置文件中讀取XML節點的文本。爲此,我使用Xpath讀取值。其中一個配置值是在它的內容之間有空格,所以當我閱讀它時,它只是將值返回到空格。 我的配置文件名和內容如下 config.xml中如何使用PowerShell讀取帶空格的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
@ gms0ulman:Thx。在帖子中,我錯過了結束標籤。但在原始的xml文件中它就在那裏。只是重新審視了整個ps代碼,發現分割函數用於將空格分隔爲分隔符。因此獲得了該部分值。 –