gpt4 book ai didi

xml - 使用 Powershell 编辑 .XML 文件,编码

转载 作者:数据小太阳 更新时间:2023-10-29 01:50:28 27 4
gpt4 key购买 nike

我需要使用 powershell 编辑 .xml 文件。我需要做的是从服务器下载 .xml 文件,更新版本号,然后将其保存在我的本地计算机中。这就是我所做的。

[xml]$myXML = get-content $xmlFileServer
$myXML.'ivy-module'.info.revision = $newVersion
$myXML.Save($newXMLFileName)

然后我的本地计算机中将有一个新的 xml 文件。但是,我怀疑编码是否不同,因为我无法处理这个 .xml 文件。我应该得到的 .xml 是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="XXXX" module="XXXX" revision="2.0.1.0" status="release" publication="20131119202217" />
<publications>
<artifact name="XXXX" type="dll" ext="zip" conf="*" />
</publications>
</ivy-module>

但是,使用 powershell 编辑后,.xml 包含一些隐藏信息。我试着用 NotePad++ 打开,我得到了这样的东西:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="XXXX" module="XXXX" revision="2.0.1.0" status="release" publication="20131119202217"/>
<publications>
<artifact name="XXXX" type="dll" ext="zip" conf="*"/>
</publications>
</ivy-module>

谁能告诉我这是为什么?非常感谢。

最佳答案

这对我有用,基于上面的链接和 this blog post

$enc = New-Object System.Text.UTF8Encoding( $false )
$wrt = New-Object System.XML.XMLTextWriter( 'c:\path\out.xml', $enc )
$wrt.Formatting = 'Indented'
$myXML.Save( $wrt )
$wrt.Close()

“缩进”设置是个人喜好;我更喜欢我的 XML 人类可读性。 $wrt.Close() 也是必需的。

关于xml - 使用 Powershell 编辑 .XML 文件,编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20102148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com