如何从带有节点的函数返回 XML 文件?

2023-12-14

我有一个简单的 XML

<bds>
<bd>
    <id>10</id>
    <user>john</user>
    <servers>
        <name>pc24</name> 
    </servers>
</bd>
<bd>
    <id>12</id>
    <user>peter</user>
    <servers>
        <name>pc25</name> 
    </servers>
</bd>

我有一个函数,我希望它返回一个 XML 文件,其中包含挂在节点上的所有元素。

$collection = "bds"
$attribute = "name"
$obj = "pc25"


function test () {

    if ($xml.SelectNodes("//$attribute").name -eq "name") {
    

        return $xml.SelectNodes("//$attribute").parentnode | Where $attribute -eq $obj
    
    }

    else {
    
        return $false

    }
}

我希望函数的输出是:

        <id>12</id>
        <user>peter</user>
        <servers>
            <name>pc25</name> 
        </servers>

如何使用函数的返回值生成 XML 文件?


您可以使用稍微智能的 XPath 来选择节点,然后InnerXml属性来获取您想要的输出字符串:

PS> $xml = [xml] @"
<bds>
  <bd>
    <id>10</id>
    <user>john</user>
    <servers>
      <name>pc24</name>
    </servers>
  </bd>
  <bd>
    <id>12</id>
    <user>peter</user>
    <servers>
      <name>pc25</name>
    </servers>
  </bd>
</bds>
"@

PS> $xml.SelectNodes("bds/bd[servers/name = 'pc25']").InnerXml
<id>12</id><user>peter</user><servers><name>pc25</name></servers>

Note - bds/bd[servers/name = 'pc25']意思是“找到所有bds/bd有子节点的节点servers/name有值的节点pc25".

然后,您可以根据需要使用 XPath 字符串中的变量值将其重新安装到您的函数中...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从带有节点的函数返回 XML 文件? 的相关文章

  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 带有多个附件的电子邮件

    我正在为服务台编写一个 PowerShell 脚本 以便在将 userhome 文件夹从服务器迁移到 NAS 设备时使用 帮助台用户将用户名输入到 userhomelist txt 文件中 我的问题是我无法获取脚本来附加所有日志文件 电子邮
  • 在 Powershell 中远程启动进程,在 Windows 中获取 %ERRORLEVEL%

    一些背景知识 我试图在测试开始时远程启动和停止一些性能计数器 然后在测试结束时停止它们 我是通过 Win2003 机器上的自动化测试框架执行此操作的 测试框架执行命令时无需启动控制台 某些被测系统正在运行 Win2008 我编写了脚本来根据
  • 如何在 Azure PowerShell 函数中导入模块?

    我尝试从函数查询天蓝色表 使用 Get AzTableRow 在我的笔记本电脑上工作得很好 但模块 aztable 不存在于天蓝色功能中 因此我得到的只是红屏 有办法安装吗 谢谢 大卫 您无需自行在 Azure Function 中安装 A
  • 如何在不安装 AWS SDK 的情况下通过 Powershell 从 S3 下载文件?

    我想使用 Windows Powershell 从我的 AWS S3 存储桶下载文件 我无法安装任何 AWS 软件 需要创建一个 API 才能访问 AWS S3 中的文件 我使用Postman测试该文件是否可访问并且成功 鉴于这一成功 我尝
  • 如何并行执行PowerShell函数多次?

    我不确定是否需要将其称为多线程 基于作业或异步的需求 但基本上我有一个 Powershell 脚本函数 它需要多个参数 并且我需要使用不同的参数多次调用它并让它们运行在平行下 目前 我这样调用该函数 Execute param1 param
  • EWS - 访问共享日历项目/约会

    我正在尝试获取共享日历的所有项目 我已关注EWS 访问所有共享日历 https stackoverflow com questions 23766747 ews access all shared calendars 23773834 23
  • PowerShell 中哈希表的并集和交集

    In PowerShell 中的并集和交集 https stackoverflow com questions 8609204 union and intersection in powershell描述了用于数组集合操作的酷单行代码 我想
  • VSTS 任务组 Powershell 参数

    我使用具有四个参数的 Azure Powershell 任务内联脚本创建了 VSTS 任务组 我已将此任务组添加到发布定义并配置参数 当我尝试释放时失败并出现以下错误 2018 03 23T10 28 42 2811600Z 错误 在 C
  • 对于 PowerShell cmdlet,我是否始终可以将脚本块传递给字符串参数?

    我正在查看 PowerShell 的文档Rename Itemcmdlet 并且有一个这样的例子 Get ChildItem txt Rename Item NewName name Replace txt log 此示例演示如何使用 Re
  • 按名称前缀对文件进行分组,然后使用 PowerShell 归档 (zip) 每个组

    我有以下情况 我的目录中有大量文件 名称如下 dynamicname timestamp xml 我想按 对文件进行分组 然后将分组的文件压缩到以该组的 命名的存档中 在这种情况下 文件名和时间戳并不重要 只重要前六位数字 我是 Power
  • Powershell从Linux客户端连接到Windows远程

    我正在尝试从我的 Linux 工作站远程连接到 Windows 计算机 我在 Arch Linux 工作站上安装了 powershell 目前正在尝试连接到主机 在主机上 Enable PSRemoting 然后允许所有主机Set Item
  • 将组“Everyone”添加到目录及其所有子目录

    我目前使用的是 Vista 32 位 如何添加 Windows 安全组 Everyone 并完全控制目录及其所有子目录和所有文件 有我可以使用的 powershell 脚本吗 Thanks 我已经扩展了 martona 的代码片段 并且能够
  • 如何根据事件触发SSRS订阅?

    有没有一种方法可以让我在共享文件夹中创建文件等事件时触发 SSRS 订阅 基于时间 我们可以使用 powershell 或 C 来实现吗 SSRS 中是否有可用的开箱即用功能 尽管我认为没有 我正在使用 SQL Server 2008 R2
  • Powershell - 函数中的匹配 - 返回时获得额外的 true/false

    为什么我在这个函数的结果上得到提取 True 或 False 当我想要返回的只是邮政编码时 Function GetZipCodeFromKeyword String keyword pattern d 5 keyword match pa
  • 如何从 Powershell 访问 COM 对象上的索引属性

    我正在使用 Powershell 通过 COM 与 Windows 7 任务计划程序服务进行通信任务调度2 0接口 http msdn microsoft com en us library aa383600 VS 85 aspx 例如 I
  • 根据字符串列表查找第一个可用的序列号?

    给定一个字符串列表 例如 apple01 apple02 and apple04 banana02 cherry01 你会如何想出first可用序列号each类型 也就是说 apple03如果我问apple or banana01如果我问b
  • 与 PowerShell CmdLets 互操作

    我一直在编写一些利用 App V 的 PowerShell Cmdlet 的实用程序 有趣的是 微软似乎只记录了 cmdlet 而不记录 Powershell 模块背后使用的 net 程序集 现在 我熟悉了 P Invoke 和 COM I

随机推荐

  • PHP从不同时区的服务器获取英国当地时间

    我有一个网络服务器 我不知道时区设置为多少 现在是英国上午 10 49 但是当我运行以下命令时 sTime gmdate d m Y H i s print The time is sTime 服务器返回以下时间 The time is 2
  • 从文本字段中选择粗体和斜体文本

    我怎样才能只选择bold and 斜体字用户在 textField textView 中输入的文本 我们可以制作选定的文本bold 斜体字 下划线以及这三者的任意组合 但反之亦然呢 这不是 Mac OSX 或 iOS 所特有的 任何一种的解
  • 如何阻止其他应用程序使用麦克风?

    我正在开发 android voip 应用程序 我想确定是否有其他应用程序正在使用麦克风 通过这个 我想在使用麦克风时阻止其他应用程序访问麦克风 请任何人有想法 这对我很有帮助 Thanks 最后知道我们可以检查麦克风的可用性 如下所示 p
  • 为什么我的 Bash 代码在使用“sh”运行时会失败?

    我有一行代码在我的终端中运行良好 for i in mp4 do echo ffmpeg i i i mp4 mp3 done 然后我将完全相同的代码行放入脚本中myscript sh bin sh for i in mp4 do echo
  • 如何覆盖 HWIOAuthBundle twig 文件

    我是 Symfony2 3 FosUserBundle 的 HWIOAuthBundle 新手 我在我的项目中使用这个包来登录 facebook twitter googleplus 我已经成功安装了这个并且工作正常 但我想覆盖 login
  • 使用 SQLAlchemy ORM 批量插入

    有什么方法可以让 SQLAlchemy 进行批量插入而不是插入每个单独的对象 IE doing INSERT INTO foo bar VALUES 1 2 3 而不是 INSERT INTO foo bar VALUES 1 INSERT
  • 如何在Google AppEngine上实现“自动增量”

    我必须以 强单调递增 的方式来标记某些东西 发票号码 运输标签号码等 一个号码不得使用两次 当所有较小的数字都已被使用时 没有孔 每个数字都应该被使用 奇特的说法 我需要数 1 2 3 4 我可用的号码空间通常有 100 000 个号码 而
  • VBA 是一种 OOP 语言吗?它支持多态性吗?

    我实际上正在做我的第一个VBA项目 来自C 我想改进现有的VBA项目使用的微软Excel通过实现类和多态性的工作簿 我的问题是 1 我读了很多文章 论坛解释了这一点VBA不是面向对象编程 OOP 语言并且不支持多态性 其中一些人提出了使用关
  • Windows 7 IIS7.5 和 asp 应用程序错误 HTTP 404.0 - 未找到

    我有一个经典 ASP 应用程序 现在我将其安装在装有 Windows7 64 位和 IIS 7 5 的新 PC 上 问题是 当应用程序尝试打开数据库时 出现以下错误 错误 HTTP 404 0 未找到 我尝试从该路径打开数据库并且它工作正常
  • 窗口变量名

    我正在查看一些代码 在脚本的开头我们有var emailID email 稍后 代码通过以下方式引用 emailIDwindow emailID 我想知道允许您通过 window variableName 引用变量的规则是什么 我无法在网上
  • 如何为日期添加天数?

    我的代码是这样的 table class table tbody tr th Date th th Charge th tr foreach cancel policy api as key gt value tr td value Che
  • 没有 JavaScript 的 CSS 菜单

    任何人都可以提供参考 或者是否可以完全依赖于创建一个菜单CSS and not a single bit of javascript 需求是一个下拉菜单 其中可以有很多children submenu 如果像这样创建的话 任何东西都会cro
  • 语音识别连接错误

    我正在尝试基于 VoiceRecognition java 示例来研究和测试语音识别示例 网址为http developer android com resources samples ApiDemos src com example an
  • 是否有一个“String.Format”可以接受命名输入参数而不是索引占位符? [复制]

    这个问题在这里已经有答案了 这就是我所知道的 str String Format Her name is 0 and she s 1 years old Lisa 10 但我想要类似的东西 str String Her name is na
  • PHP Mysql PDO:一般错误:2006 MySQL 服务器已消失

    我当前正在运行一个自定义 php 脚本 该脚本在我的本地主机上运行时工作正常 但是在共享主机上运行时 我收到以下错误 致命错误 未捕获异常 PDOException 消息为 SQLSTATE HY000 一般错误 2006 MySQL 服务
  • 尝试在 iOS 中使用 AVAssetDownloadURLSession 下载 m3u8 视频时出现错误

    尝试下载 m3u8 视频文件 http devimages apple com iphone samples bipbop bipbopall m3u8 使用 AVAssetDownloadURLSession 当我在 Xcode 中运行代
  • HTTPS 仅适用于本地主机

    我正在尝试在我的一个 EC2 实例上设置 https 我已经这样做过很多次了 但由于某种原因 在这个例子中 它拒绝工作 Problem 当我通过本地 ip 连接到域时 https 工作正常 当我通过公共IP连接到域时 https 不起作用浏
  • 在 WooCommerce 3.3 中更改产品缩略图大小

    我在 WooCommerce 3 3 中更改产品缩略图 图像大小时遇到 一些问题 我曾经能够在 WooCommerce gt 设置 gt 产品 gt 显示下的管理中执行此操作 但我再也看不到显示选项卡了 此功能是否已被移动或者现在有其他方法
  • 自定义验证器控制反应形式的数量

    我很难在 Angular 的反应式表单中实现自定义验证 我需要控制数量 数量不应超过可用数量 问题是如果每行都有子行 我如何获得所有数量的总数 我如何能够计算子行的总数并将其与找到可用数量的父行进行比较 下面是我的代码 这也是我的代码的链接
  • 如何从带有节点的函数返回 XML 文件?

    我有一个简单的 XML