如何读取xml文件并将其内容写入纯文本文件?

如何读取xml文件并将其内容写入纯文本文件?,xml,powershell,Xml,Powershell,如何读取下面的xml文件并将其内容写入纯文本文件 <!-- <config> <compare> <source>d:\demo\</source> <destination>e:\demo\</destination> <parameters> <parameter>FileName</parameter> <paramet

如何读取下面的xml文件并将其内容写入纯文本文件

<!--
<config>
  <compare>
    <source>d:\demo\</source>
    <destination>e:\demo\</destination>
    <parameters>
      <parameter>FileName</parameter>
      <parameter>Size</parameter>
      <parameter>Date</parameter>
    </parameters>
  </compare>
  <compare>
    <source>d:\sample\</source>
    <destination>e:\sample\</destination>
    <parameters>
      <parameter>Name</parameter>
      <parameter>FullName</parameter>
      <parameter>version</parameter>
      <parameter>culture</parameter>
    </parameters>
  </compare>
</config>
-->

是一篇关于如何从PowerShell操作XML的好文章。

是一篇关于如何从PowerShell操作XML的好文章。

好吧,你对XML的评论会引起一些解析问题-但是为了回答这个问题,我假设它在现实生活中并不存在。在PowerShell中处理XML的最简单方法是将其视为字符串,并将其强制转换为XML对象:

$xml = [xml](Get-Content c:\temp\config.xml)
现在您有了一个xml变量,可以做一些很酷的事情,比如:

$xml.config.compare.source
这将把字符串“d:\demo\”放在管道中,在这种情况下,不会进行进一步的处理并输出它。抓取其他元素应该非常简单,尽管多参数标记的处理方式与数组类似:

$xml.config.compare.parameters.parameter[0]
写入输出与重定向输出一样简单:

$xml.config.compare.source >> c:\temp\output.txt

单大于号将覆盖文件内容,双大于号用于追加。

好吧,您对XML的注释将导致一些解析问题——但为了回答这个问题,我假设它在现实生活中并不存在。在PowerShell中处理XML的最简单方法是将其视为字符串,并将其强制转换为XML对象:

$xml = [xml](Get-Content c:\temp\config.xml)
现在您有了一个xml变量,可以做一些很酷的事情,比如:

$xml.config.compare.source
这将把字符串“d:\demo\”放在管道中,在这种情况下,不会进行进一步的处理并输出它。抓取其他元素应该非常简单,尽管多参数标记的处理方式与数组类似:

$xml.config.compare.parameters.parameter[0]
写入输出与重定向输出一样简单:

$xml.config.compare.source >> c:\temp\output.txt

单个大于号将覆盖文件内容,双号用于追加。

链接跟随到登录页面链接跟随到登录页面