我有一些应用程序以
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")
<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)