我有一个结构如下的xml文件,我想从命令行编辑这个文件。
<server>
<service>
<Connector port="8080" password="password1234"/>
</service>
</server>
我想更改密码或端口号。 cmd是否提供此选项,还是需要额外的工具?我知道powershell可以做到,但这对我来说不是最好的解决方案。 (除了我没有得到它与powershell运行:()。 搜索“password1234”并替换它也是可以的,因为我的文件中有一个默认密码,它始终是相同的,必须更换。
答案 0 :(得分:2)
为了演示我使用的一个方法,首先在示例中创建xml文件:
为XML文件名定义变量
def find_nth(needle,haystack, n):
start = haystack.find(needle)
while start >= 0 and n > 1:
start = haystack.find(needle, start+len(needle))
n -= 1
return start
for i in range(len(s1)) :
occurrence= s1[:i+1].count(s1[i])
j=find_nth(s1[i], s2, occurrence)
定义要保存到文件的XML字符串
$xmlFile = "C:\temp\myconfig.xml"
将xml内容保存到文件
$xmlFromString = [xml]@"
<server>
<service>
<Connector port="8080" password="password1234"/>
</service>
</server>
"@
产生的文件内容
$xmlFromString.Save($xmlFile)
Get-Content -Path $xmlFile
以下是更改值的PowerShell代码 从文件中获取XML内容
<server>
<service>
<Connector port="8080" password="password1234" />
</service>
</server>
查找元素/节点并更改属性值
$xml = [xml](Get-Content -Path $xmlFile)
保存XML内容
$node = $xml.selectSingleNode('//server/service/Connector')
$node.port = "9090"
$node.password = "MyNewPassord4321"
结果
$xml.Save($xmlFile)
Get-Content -Path $xmlFile
将命令保存到PowerShell ps1文件并通过PowerShell执行/运行。
我们需要有关您尝试完成的具体内容的其他详细信息,例如:
希望这很有帮助。 - 布鲁克斯