通过 PowerShell 使用 XML 文件简介
Posted: Wed Jan 22, 2025 4:08 am
PowerShell 提供了多种读取 XML 文档的方法,无需编写大量代码。
PowerShell 提供了多种读取 XML 文档的方法,无需编写大量代码或使用 XPath。以下是您可以如何开始。
操作 XML 是那些让任何曾经操作过它的人感到畏缩的话题之一。它通常很耗时、难以理解,而且很麻烦。除了 PowerShell 之外,使用其他一些语言处理 XML 需要记住 XML 树,以确保你在正确的级别操作正确的节点。除此之外,你可能还必须学习编写晦涩难懂的XPath查询以查找 XML 文档中的内容。
PowerShell 和读取 XML 文件
PowerShell 仍然具有 XPath,但您不一定非要使用它。PowerShell 提供 克罗地亚whatsapp 数据 了一种简单的方法来读取 XML 文件、操作它们并最终将它们保存回磁盘,而无需编写大量代码或了解 XPath。PowerShell 通过提供用户点符号来表示 XML 文档中的每个节点来实现这一点。但首先,让我们开始读取 XML 文档。
在 PowerShell 中读取 XML 文档的一种方法是将变量强制转换为[xml]类型。要创建此变量,我们可以使用Get-Content cmdlet 读取 XML 文档中的所有文本。要强制转换 Get-Content 的输出,我们只需在变量前面添加文本[xml] 。这告诉 PowerShell,我们需要将此变量强制转换为System.Xml.XmlDocument类型,而不是通常来自 Get-Content 的默认数组类型。
[xml]$XmlDocument = 获取内容 -路径 C:\Cars.xml
在本文中,我们将使用名为 Cars.xml 的 XML 文件作为示例,其中包含各种汽车品牌和型号。
一旦运行 Get-Content 从 XML 文档中读取原始文本并将输出转换为 System.Xml.XmlDocument 类型,您现在就有一个名为$XmlDocument的变量,其中包含代表该文档的整个 XML 节点树。
此时,由于前面提到的点符号,读取文档是一项简单的任务。由于我们现在在内存中有了 XML 文档,因此我们可以探索树。
注意到我们如何使用点符号越来越深入地了解文档了吗?如果我们在文档中找到包含类似类型(汽车)节点的位置,那么我们可以将其视为 PowerShell 数组并指定我们要查找的节点的索引号。在本例中,我们通过指定索引号 0 来查找文档中的第一辆汽车。
假设您想在此 XML 文档中查找所有座位数为 4 或以上的汽车。只需使用常见的 PowerShell 命令Where-Object,我们就可以轻松检索该信息。
合并节点
您是否注意到 PowerShell 将节点(元素)和 XML 属性都组合在一组中?这样,您只需使用点符号和 Where-Object cmdlet 即可轻松梳理文档。默认情况下,PowerShell 知道与每个父 XML 相关联的所有属性和子元素,并将它们显示在漂亮的表格中。