我曾经有一个填充变量([xml]$modificationData = Get-Content $modificationXmlFileName)
的XML文件,但是现在我无法存储该文件,必须将其放入另一个数据文件中,被告知要这样做的格式是:
xmldata = @'
<bigSection>
<smallSection>
<changes>
</changes>
</smallSection>
</bigSection>
'@
我不确定
Get-Content
cmdlet现在是否可以正常工作(如果我将它路由到这个新变量中),而且我不确定我还能使用什么。另外,我不知道代码周围的
@''@
包装是什么意思。我认为@
符号用于数组,但在这种情况下我不认为这样做。任何澄清将是有帮助的。
最佳答案
@'...'@
语法称为here字符串或here文档。这是一种指定字符串而不必转义字符的方法。Get-Content
用于读取文件。缺省情况下,除非使用-Raw
参数调用它,否则它将返回一个行数组(然后它将返回一个包含文件所有内容的大字符串)。
因此,在您的示例中,$xmldata
与调用Get-Content $modificationXmlFileName -Raw
相同。
由于您只是尝试转换为[xml]
,因此可以这样做:
$xmldata = [xml]@'
...
'@
关于xml - 检索变量的XML内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875476/