我想使用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格式写入文件。
答案 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