循环遍历 xml 元素

2023-12-29

我有以下内容:

$aMyArray = $null


[xml]$userfile = Get-Content C:\AppSense\Scripts\AmPolicyConversion\AM_dev.xml

$i = 0
FOREACH ($j in $userfile.ChildNodes){

    FOREACH($k in $j.DocumentElement) {

    }

    $i = $i + 1
}

我试图弄清楚如何循环遍历 powershell 中的每个元素。

然后检查元素上的 SID 属性。

如果存在,则获取属性值并将该值放入对象中,对于同一元素,获取第二个属性 DISPLAYNAME 并将其放入同一对象中。我们将创建一个对象数组。

我知道我还很遥远,但希望你能帮忙。


使用 XPATH 来查找具有 SID 属性的所有节点,如下所示:

$objs = @()
$nodes = $userfile.SelectNodes("//*[@SID]")
foreach ($node in $nodes) {
    $sid = $node.attributes['SID'].value
    $dispName = $node.attributes['DISPLAYNAME'].value
    $obj = new-object psobject -prop @{SID=$sid;DISPNAME=$dispName}
    $objs += $obj
}
$objs

这是一个输出示例:

$xml = [xml]@"
<doc>
  <foo SID='foosid' DISPLAYNAME="foodisp">
    <bar SID='barsid' DISPLAYNAME="bardisp"/>
    <baz>
      <blech SID='blechsid' DISPLAYNAME="blechdisp"/>
    </baz>
  </foo>
</doc>
"@

$objs = @()
$nodes = $xml.SelectNodes("//*[@SID]")
foreach ($node in $nodes) {
    $sid = $node.attributes['SID'].value
    $dispName = $node.attributes['DISPLAYNAME'].value
    $obj = new-object psobject -prop @{SID=$sid;DISPNAME=$dispName}
    $objs += $obj
}
$objs

Outputs:

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

循环遍历 xml 元素 的相关文章

  • 有哪些基于对象的 shell?

    我打算写一个面向对象的shell 基于Python 我已经有很多想法了 但在实现它之前 我想通过一些现有的 shell 来激发我的灵感 我所说的面向对象的基本意思是 参数不仅仅是字符串数组 而且是对象数组 返回值也是一个对象 不仅有 std
  • 如何通过 *.csproject 文件查找参考路径

    我想制作一个自动化的 powershell 脚本 报告项目的引用和引用路径 当 csproj 中的提示路径未填写时 我找不到获取引用路径的方法 这是一个快速解决方案 它抓住了每一个 csproj当前目录下的文件 并检查每个引用 对于从 GA
  • 如何在 Golang 中将 []byte XML 转换为 JSON 输出

    有没有办法在 Golang 中将 XML byte 转换为 JSON 输出 我有以下功能body is byte但我想在一些操作之后将此 XML 响应转换为 JSON 我试过了Unmarshal in xml打包没有成功 POST func
  • foreach如何知道迭代集合被修改了?

    当我修改集合时 我正在迭代foreach 我有一个例外 所以我只是好奇如何foreach 或运行时 检测到这一点 对于一般对象可以这样做吗 集合本身必须检测它 在标准库集合中 这是通过拥有一个内部版本号来实现的 该版本号由每个操作修改 并由
  • 如何使用lxml和python更新xml文件?

  • Powershell 4 对于 tls 1.2 来说太旧了?

    我有一个带有 powershell 4 的 Windows Server 2012R2 一个sql作业发出一个Invoke WebRequest https someserver file xml OutFile c tmp data xm
  • 使用 LinearLayout 将按钮放在屏幕底部?

    我有以下代码 如何使 3 个按钮位于底部
  • 通过 XSL 查看 XML 到 XHTML 转换中的源代码

    我正在尝试使用 XSL 文件将 XML 文件转换为 XHTML 文件 如何查看转换后输出的XHTML源代码 我目前正在通过 Firefox 查看结果 但我看到的只是 XHTML 文件的渲染版本 我想查看源代码 但是当我转到 查看 gt 页面
  • 连接两个表的查询的 SQL Server“FOR XML”输出

    我是 SQL Server 中 FOR XML 功能的新手 我正在使用 SQL Server 2012 我有两个表 Word 和 Word Expansion 样本数据 表 字 WordOID Word 1 PIPE 2 WIRE 表 Wo
  • 在以下情况下强制 EditText 失去焦点:按下某些键盘按键以及当用户单击活动中的其他内容时

    我知道这个问题之前已经以多种不同的方式提出过 但即使我已经查看了许多有关 EditText 焦点的其他相关问题 我还没有找到我的解决方案 这是我想要实现的目标 当用户完成编辑 EditText 后 我 希望它失去焦点 当用户点击 EditT
  • 检查文件是否存在,然后移动它

    我正在尝试在 powershell 中编写几行代码 以检查文件是否到达特定文件夹 如果该文件存在 请将其复制到另一个文件夹 如果该文件不存在 则无需执行任何操作 到目前为止我只有复制部分 cd C Move y C myfolder csv
  • 如何解析无效(错误/格式不正确)的 XML?

    目前 我正在开发一项功能 该功能涉及解析从其他产品收到的 XML 我决定针对一些实际的客户数据运行一些测试 看起来其他产品允许用户输入应被视为无效的输入 无论如何 我仍然必须尝试找出解析它的方法 我们正在使用javax xml parser
  • Android 子菜单布局

    我读到 Android 中的子菜单不支持图标 我想知道这是否已经改变 或者是否有类似的方法来生成支持图标的 子菜单 Currently This is My Submenu 这是它的 XML 文件 menu menu
  • 扩展 XSD 文件

    我有一个带有枚举类型的 XSD 文件 我想创建一个 扩展 XSD 文件 它添加一些额外的枚举 但其他方面的行为就像主 XSD 一样 例如 主 XSD 文件包含以下内容
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • XSD 嵌套元素

  • 检测 PowerShell 开关

    我正在用 C 开发 PowerShell cmdlet 并且有 true false switch 语句 我注意到 如果我希望 bool 为 true 我需要指定 SwitchName true 否则我会得到 Missing an argu
  • 对 CSV 文件中的列进行分组并连接另一列的值

    我刚刚开始使用 PowerShell 在任何地方都找不到这个问题的答案 尝试编写一个脚本来导入 CSV 文件并搜索该文件以查看是否有任何名称相同 如果名称相同 我想将所有这些值写在同一行上 并且只显示名称一次 例如 Name Number
  • 不使用 local-name() 或 name() 函数的 XPath

    我必须解析oprResult code使用 XPath 从下面的 XML 中获取 XPath 表达式 local name oprResult code 正在按预期工作 但是 我无法使用name or local name功能为 在我的解析
  • 在 PowerShell 中从文件名中删除路径和扩展名

    我有一系列字符串 它们是文件的完整路径 我想只保存文件名 不保存文件扩展名和主路径 所以由此可知 c temp myfile txt to myfile 我实际上并没有遍历目录 在这种情况下类似于 PowerShell 的目录basenam

随机推荐

  • Promise.resolve().then 与 setImmediate 与 nextTick

    NodeJS 0 11 以及 io js 和 Node 0 12 分支都带有原生 Promise 原生承诺have a then method https developer mozilla org en US docs Web JavaS
  • MVC3 提交 Ajax 表单

    我已经阅读了很多关于这个主题的不同帖子 我将继续这样做并尝试各种事情 尽管信息差异很大 但由于我对 MVC 等相对缺乏经验 我觉得我有点绕圈子 情况是这样的 我正在 MVC3 应用程序中显示 Razor 视图 其中包含 jqGrid 中的记
  • 仅在 CopyObject 中拒绝 Amazon S3 访问

    我从 nodejs 脚本上传文件 当我尝试复制对象时 我收到 访问被拒绝 错误 如果我尝试删除该对象或获取它 没有问题并且成功 CopyObject 中有什么特殊的吗 params Bucket buacket name CopySourc
  • 使用 Ajax 更新 Rails 中的元素

    该应用程序允许用户对嵌入视频进行投票 当用户点击上下箭头时 整个页面刷新更新points 几个月来我一直在尝试实现 AJAX 投票 我想要您能提供的最直接的解决方案 即使它不是最有效的 有任何想法吗 My up and down行动来自ap
  • 我可以在我的桌面应用程序中使用谷歌语音识别 API

    我想知道我是否可以在我的桌面应用程序中使用 google 的语音识别 api 我见过一些示例 其中我必须将语音转换为文件并发送到网址 但这将是一个不太麻烦的任务 因为在我的应用程序中 用户必须不断提交他的声音 那么还有其他替代方法可以使用
  • iOS SWRevealViewController - 在控制器之间传递数据

    我正在使用 SWRevealViewController 在我的应用程序中实现滑动菜单 从左侧 一切工作正常 但现在我面临一个小问题 我想从我的 主 视图控制器传递数据 完全可见的控制器 我不称其为 frontViewController
  • 分离的实体传递到持久化

    使用 hibernate 3 6 10 maven 2 postgres 9 我有必须工作的代码 但事实并非如此 在我使用 hibernate 3 6 2 并遇到非常沮丧的错误之前 java lang ClassCastException
  • Composer 未安装本地包依赖项

    在我的 Laravel 5 4composer json 文件中 我有以下内容可以自动加载我的自定义包 请注意 该包尚未发布 而是在本地加载 autoload classmap database seeds database factori
  • 如何确定导致分段错误的原因

    我的代码的目标是接受 2 个命令行参数 包括程序名称 并根据给定的第二个命令行参数打印出所示的响应 如果命令行参数是一个整数 则用户的输入被接受或 成功 如果它是其他任何内容 例如字符串或多个命令行参数 则它将为 Null 并显示错误消息
  • 当光标位于页面之外时可以触发鼠标事件吗?

    我正在创建一个游戏 在该游戏中 人们可以按住鼠标按钮并拖动它来旋转对象 但是 当鼠标位置超出页面边界时 将不再触发所有鼠标事件 这意味着当光标位于页面之外时 对象不再旋转 此外 当用户在页面边界之外释放鼠标时 我无法跟踪这意味着当光标返回页
  • 如何使用 AngularJs 调整 SVG viewBox 的大小?

    类似问题的解决方案涉及 CSS 和img tag 但是 我无法使用 img src myFile svg 因为 SVG 包含 Angular 指令 例如
  • ncurses 捕获扩展键(Control-left、Shift-Function 等)

    我试图在我的 ruby 程序中捕获 Control Left Shift F10 等 通常 仅使用 getch 我会得到一个有效的整数列表 例如 27 91 50 50 126 但我担心这些可能取决于系统或终端 经过谷歌搜索后 我发现了 u
  • 为什么Java的String.getBytes()使用“ISO-8859-1”

    来自 java lang StringCoding String csn charsetName null ISO 8859 1 charsetName 这是 Linux jdk 7 中 Java lang getBytes 使用的内容 我
  • Android - 检查设备是否连接到互联网

    有没有简单的方法 如何检查设备是否主动连接到互联网 通过 GPRS EDGE UMTS HSDPA 或 Wi Fi 连接 Thanks 是的 我使用 isReachable public class Extras public static
  • 仿真期间的 Modelica 输出文件

    我进行了很长时间的模拟 并且需要在模拟继续时检查输出 另一个原因是我正在进行实时模拟 所以我也想实时查看输出 如果 OpenModelica 在模拟过程中创建一个输出文件 以便我可以使用第 3 方工具 也许是 Python 读取并绘制它 那
  • 什么是定点整数?

    In http microformats org wiki hreview aggregate http microformats org wiki hreview aggregate it says rating 必需的 定点整数 1 0
  • ggplot2 中的条形图

    有人会帮助使用绘制条形图吗ggplot2对于此数据 我无法为此数据开发条形图 在 ggplot 中 您应该使数据采用更长的格式 为此你可以使用pivot longer from tidyr 这样你就可以创建一个像这样的堆积条形图 df lt
  • SQL Server 2008 - 当列为空时设置一个值

    我正在 SQL Server 2008 数据库上执行 SELECT 语句 SELECT Name DOB Address1 Address2 City State Zip FROM Users 但是 如果上述任何列对于特定行恰好为空 我想将
  • 刺尾没有优雅地退出

    我正在使用以下任一命令通过 Maven 运行 Thorntail 2 2 1 Final 微服务 mvn thorntail start mvn thorntail run 它运行良好 但是当我击中时Ctrl C它不会退出应用程序 即控制台
  • 循环遍历 xml 元素

    我有以下内容 aMyArray null xml userfile Get Content C AppSense Scripts AmPolicyConversion AM dev xml i 0 FOREACH j in userfile