使用 XPath 在 XML 中选择属性
XML 代表可扩展标记语言。XML 文件是具有自定义标签的纯文本文件,用于定义文档的结构。
它主要用于存储和共享结构化信息。XML 文件的内容与 HTML 文件类似。
本教程将介绍在 PowerShell 中使用 XPath 在 XML 中选择属性的不同方法。
在 PowerShell 中使用 Select-Xml
Cmdlet 选择 XML 中的属性
Select-Xml
cmdlet 允许你使用 XPath 在 XML 字符串或文档中查找文本。
这是一个 XML 文件的简单示例。
<website>
<site name="DelftStack">
<content>
<topic>PowerShell Howtos</topic>
<article>How to convert XML into CSV?</article>
</content>
</site>
<site name="DelftStack">
<content>
<topic>Linux Howtos</topic>
<article>Delete Files Recursively in Linux</article>
</content>
</site>
</website>
以下命令在 C:\Users\rhntm
目录中的 new.xml
文件中搜索 XPath 查询 topic
。
Select-Xml -Path C:\Users\rhntm\new.xml -XPath "//topic" | Select-Object -ExpandProperty Node
输出:
#text
-----
PowerShell Howtos
Linux Howtos
-Path
参数指定要搜索的 XML 文件的路径和文件名。
-XPath
参数指定要搜索的 XPath 查询。查询文本区分大小写。
在 PowerShell 中使用 SelectNodes
方法选择 XML 中的属性
SelectNodes()
方法选择与 XML 文件中的 XPath 表达式匹配的节点列表。
以下示例从 new.xml
文件中选择节点 content
。
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content')
输出:
topic article
----- -------
PowerShell Howtos How to convert XML into CSV?
Linux Howtos Delete Files Recursively in Linux
[xml]
将变量转换为 XML 对象。Get-Content
cmdlet 获取 C:\Users\rhntm\new.xml
的内容并将其保存在 $xml
变量中。
要选择特定属性,你可以使用 Select-Object
cmdlet。例如,以下命令仅从 new.xml
文件中选择 article
。
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content') | Select-Object article
输出:
article
-------
How to convert XML into CSV?
Delete Files Recursively in Linux
在 PowerShell 中使用 Get-Content
Cmdlet 选择 XML 中的属性
正如你在上面看到的,Get-Content
cmdlet 获取 XML 文件的内容。你可以将内容保存在变量中并将其转换为 XML 对象。
以下示例显示了如何使用 Get-Content
并选择 XML 文件中的属性。
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.website.site.content.topic
输出:
PowerShell Howtos
Linux Howtos
如果你想要 XML 文件中的文本值,这是一种简单的使用方法。我们希望这可以帮助你了解如何在 PowerShell 中选择 XML 中的属性。
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。