私の設定ファイルからXMLノードのテキストを読みたいと思います。このため私はXpathを使って値を読みました。設定値の1つは、そのコンセプトの間にスペースがあるため、私がそれを読んでいるときに、値を空白に戻すだけです。 私のconfigファイル名と内容は私が成功したタグReferenceID以外のタグ値を読み取ることができています 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>
次のように。
$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のコード全体を再訪し、区切り関数がその区切り文字としてスペースで値を分割するのに使われていることが判明しました。 –