加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从命令行更新XML [windows]

发布时间:2020-12-16 07:51:57 所属栏目:百科 来源:网络整理
导读:我有一些应用程序以 XML格式存储他们的配置文件.对于常规应用程序,使用基于文本的配置,我可以通过使用perl,sed或awk或百万工具中的任何一个来轻松地更新值.我正在寻找类似XML的东西,这将使我能够轻松可靠地执行以下操作:更新值,添加节点或删除节点. 常规文
我有一些应用程序以 XML格式存储他们的配置文件.对于常规应用程序,使用基于文本的配置,我可以通过使用perl,sed或awk或百万工具中的任何一个来轻松地更新值.我正在寻找类似XML的东西,这将使我能够轻松可靠地执行以下操作:更新值,添加节点或删除节点.

常规文本解析似乎风险太大,因为我对物理文件格式没有真正的保证.

MS Powershell中的XML解析比我在个人遇到的任何其他语言或环境中看到的任何解析机制都要容易.

给定一些XML文件(test.xml):

<root>
  <one>I like applesauce</one>
  <two>You sure bet I do!</two>
</root>

您可以从Powershell内部轻松访问,修改和追加XML文件的节点,值和属性.

# load XML file into local variable and cast as XML type.
$doc = [xml](Get-Content ./test.xml)

$doc.root.one                                   #echoes "I like applesauce"
$doc.root.one = "Who doesn't like applesauce?"  #replace inner text of <one> node

# create new node...
$newNode = $doc.CreateElement("three")
$newNode.set_InnerText("And don't you forget it!")

# ...and position it in the hierarchy
$doc.root.AppendChild($newNode)

# write results to disk
$doc.save("./testNew.xml")

文件testNew.xml中生成的XML:

<root>
  <one>Who doesn't like applesauce?</one>
  <two>You sure bet I do!</two>
  <three>And don't you forget it!</three>
</root>

非常简单!请享用.

Powershell是微软的新外壳,随Windows Server 2008和Windows 7一起提供,可免费下载XP / Vista / Server 2003(也许是其他版本).

一些有用的链接:
Generating XML from other sources
向XML添加元素:
Sample 1,MSDN PowerShell blog
Sample 2,PC-Pro(UK)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读