如何使用PowerShell将xml数据写入xml文件

时间:2018-02-19 23:27:08

标签: powershell

我想使用powershell将此xml字符串写入xml文件。

我使用了以下命令:

echo '<service>
        <id>value</id>
        <name>value/name>
        <description></description>
        <env name="APP_HOME_DIR" value="%BASE%"/>
        <executable>java</executable>
        <arguments>-Xmx256m -jar "%BASE%\testservice.jar"</arguments>
        <logmode>rotate</logmode>
    </service>' > $targetlocation 

但它没有以正确的xml格式写入文件。

1 个答案:

答案 0 :(得分:0)

基本上,任何语言都可能出现字符转义问题,在PowerShell中,只需使用下面的文本块。

$xml = @'
whatever content here
<service>
    <id>value</id>
    <name>value/name>
    <description></description>
    <env name="APP_HOME_DIR" value="%BASE%"/>
    <executable>java</executable>
    <arguments>-Xmx256m -jar "%BASE%\testservice.jar"</arguments>
    <logmode>rotate</logmode>
</service>
'@
$xml | out-file 1.xml -encoding utf8

如果您需要应用变量,只需使用格式运算符

$xml = @'
this is string 1 {0}, string 2 here {1}
'@ -f "string0", "string2"
$xml | out-file 1.xml -encoding utf8