【问题标题】:How to read the xml file and write its content into a plain text file?如何读取 xml 文件并将其内容写入纯文本文件?
【发布时间】:2017-04-07 16:38:42
【问题描述】:

如何读取下面的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>
-->

期望的输出:

d:\demo   e:\demo  FileName  Size  Date
d:\sample   e:\sample  Name  FullName  Version Culture

【问题讨论】:

    标签: xml powershell


    【解决方案1】:

    好吧,您对 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
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 链接到登录页面
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 2011-12-19
      • 2021-12-12
      • 1970-01-01
      相关资源
      最近更新 更多