问题标签 [select-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4516 浏览

xml - PowerShell select-xml xpath 似乎不起作用

我正在尝试select-xml从 SharePoint 解决方案中根除一些东西。我有一个包含许多功能的解决方案目录,而不是打开每个feature.xml并手动选择功能名称并将它们放入列表中,我希望使用powershelland进行等效操作select-xml

我的尝试是这样的:

我什么也没得到,所以我尝试了这个:

这似乎做了它应该做的事情。我得到了解决方案中所有 feature.xml 文件中每个 XML 节点的列表。

我尝试了像“//Feature”和“Feature”这样的XPath 表达式,但都没有得到任何结果。

在我看来,我的 XPath 表达式是正确的,但是 select-xml 的行为有点令人困惑。有谁知道为什么会发生这种情况?

0 投票
1 回答
1116 浏览

xpath - 通过 Powershell 在 Select-Xml 中的 Xpath 不是运算符

我正在使用 csproj 文件,并且正在尝试编写一个 cmdlet 来提取项目文件引用的所有文件。这将包括所有 Compile、EmbeddedResource、Resource、Content 和 None 元素(更重要的是,它们的 @Include 值),但我特别想排除 Reference 元素,因为它们引用了我不关心的 dll。

我没有很多经验,但我认为我想要的 xpath 表达式看起来像这样

但是,一旦我尝试引入 self::node(),我的表达式就不会返回任何节点。我不是 100% 确定 self::node() 是这样做的正确方法。知道我会改变什么以使其在概念上返回“所有包含节点的属性值,这些节点不是作为 ItemGroup 元素的子元素的 Reference 元素的节点?”

0 投票
1 回答
2132 浏览

xml - 使用 Powershell 进行外科 XML 编辑

我正在使用 Powershell 处理 csproj 文件来执行项目引用的大规模编辑。到目前为止,我已经设法使用以下几行编辑 ProjectReferences 上的 Include 属性:

这有效,并按照我的预期替换了适当 ProjectReferences 上的 Include 属性。但是,还有许多额外的“无害”更改,例如在自己的行上格式化所有标签,例如
<FileUpgradeFlags></FileUpgradeFlags>

变成

<FileUpgradeFlags>
</FileUpgradeFlags>

有什么方法可以执行没有这些副作用的编辑吗?

编辑:为了让任何因其他原因发现这篇文章的人清楚起见,Select-MsBuildXml 只是我围绕 Select-Xml 编写的一个包装函数,它使用 msbuild 命名空间预加载命名空间参数,然后扩展节点属性。

0 投票
1 回答
74 浏览

xml - 随机查找 XML 属性

我怎样才能找到2个属性$_.CompleteName$_.Channel随机?

样本数据

代码

0 投票
2 回答
136 浏览

xml - 试图获取 XML 元素

这是一段 XML 文件,我想使用 PowerShell 代码从中提取 IP 地址(此处为 172.31.24.8):

我尝试Select-Xml按照其他 StackOverflow 示例中的描述使用,但到目前为止没有成功。

正确实现这一目标的最简单方法是什么?

0 投票
1 回答
2242 浏览

powershell - 在 Powershell 中,如何让 Select-Xml 搜索多个节点

所以我不得不说我是使用 PowerShell 解析 XML 的新手。话虽如此,我该如何组合多个 -XPath 以便我可以完成构建我的表达式报告。请让我知道,我已经尝试了几种组合,但它们似乎都不适用于命名空间 XML。

0 投票
2 回答
121 浏览

powershell - Select-Xml 返回文件名

当使用 Select-Xml 解析我的 *.csproj 时,除了从预期的输出中,我还得到一个参数的 concat。

这里发生了什么?

这返回

1.0.1:D:\somepath\someproject.csproj

代替

1.0.1

csproj 的片段

0 投票
1 回答
501 浏览

xml - Powershell - XML - 如何从每个节点系列的不同深度提取多个值

我有几百万行要解析的 xml。对于一个应用程序,我希望提取 3 条数据用于其他脚本。

xml 看起来类似于以下内容(每个分组已删除了几十个标签)如果有帮助,我可以更改其中一个名称标签;虽然不可取,但它需要一些中间处理。并非所有节点组都具有扩展属性。

我正在寻找每个节点的输出是

我尝试了几种方法,但一直找不到优雅的解决方案。开始于

$xml = [xml](get-content prodnodes.txt)

尝试了一些带有 xpath 的 Select-Xml,直接使用 $xml.topo.node 寻址管道来使用属性名称选择对象。我无法使用以下内容有效地定位这些名称。

$xml.topo.node | select-object -property name, extendedAttributes.attribute.name, extendedAttributes.attribute.value

它只会返回名称以下内容为我提供了一个附加属性,但我无法毫无问题地扩展它。

$munge = $xml.topo.node | select-object -property name, {$_.extendedAttributes.attribute.name}

尝试扩展它看起来像这样

$munge = $xml.topo.node | select-object -property name, {$_.extendedAttributes.attribute.name, $_.extendedAttributes.attribute.value}

它给出了这样的输出

有没有办法清理这个,或者另一种更有效的方法?

0 投票
0 回答
130 浏览

xml - PowerShell - 基于属性值获取所有 XML 节点

我正在尝试使用 XPath 获取所有 XML 节点,其中属性“Tag”值是“Fetch”,而不使用 PowerShell 5.1 进行太多循环。请帮忙。

我尝试使用 XML“SelectNodes”方法和递归循环在 XML 的每个元素中,但是管理深度太多了。如果需要,是否有这种类型的 Xpath,我可以在其中根据属性值过滤节点。

输出应低于 3 个节点

0 投票
1 回答
187 浏览

xml - Powershell:如何抑制 Select-Xml 的输出?

我将 XML 文件内容分配给一个变量$config,然后使用另一个变量$market来存储 XPath 查询的输出:

然后我添加以下行:

输出是这样的:

我想要的输出是:

我试图| Out-Null在第二行的末尾添加,但在这种情况下,只有 Write-Host cmdlet 的输出被抑制。有没有其他方法可以抑制输出Select-Xml