【问题标题】:Get Attribute of XML Node String in PowerShell在 PowerShell 中获取 XML 节点字符串的属性
【发布时间】:2016-03-11 00:34:27
【问题描述】:

我有一个 PowerShell 对象,它包含一个包含 XML 字符串但不是整个 XML 文档的属性 - 只是节点。列出这个

$field.schemaxml;
<Field Type="Lookup" DisplayName="My Lookup" Required="FALSE" EnforceUniqueValues="FALSE" List="{447f56b0-0e38-461c-a0d2
-aa58e30ff270}" WebId="d31c0006-5576-4d1f-a0bb-ba3ce4ff787b" ShowField="Title" UnlimitedLengthInDocumentLibrary="FALSE"
Group="_My Columns" ID="{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c}" SourceID="{d31c0006-5576-4d1f-a0bb-ba3ce4ff787b}" Static
Name="My_x0020_Lookup" Name="My_x0020_Lookup" Version="1" />

使用 Powershell 将其解析为 XML Node 对象的正确方法是什么,使用 xpath 或类似方法选择“列表”属性值(或任何属性)并更改它。

【问题讨论】:

  • $field.schemaxml 是什么类型?您可以使用$field.schemaxml.GetType() 来确定它

标签: xml powershell


【解决方案1】:

假设您的示例中的属性是“StaticName”,没有空格,以下对我有用。

PowerShell

$node = '<Field Type="Lookup" DisplayName="My Lookup" Required="FALSE" EnforceUniqueValues="FALSE" List="{447f56b0-0e38-461c-a0d2
-aa58e30ff270}" WebId="d31c0006-5576-4d1f-a0bb-ba3ce4ff787b" ShowField="Title" UnlimitedLengthInDocumentLibrary="FALSE"
Group="_My Columns" ID="{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c}" SourceID="{d31c0006-5576-4d1f-a0bb-ba3ce4ff787b}" StaticName="My_x0020_Lookup" Name="My_x0020_Lookup" Version="1" />'

$xml = [xml]$node

Write-Output "Field is:"
Write-Output $xml.Field

Write-Output "Changing DisplayName...$([Environment]::Newline)"
$xml.Field.DisplayName = "New DisplayName"

Write-Output "Field is now:"
Write-Output $xml.Field

提供以下输出:

字段是: 类型:查找 显示名称:我的查找 必需:假 强制唯一值:假 列表:{447f56b0-0e38-461c-a0d2 -aa58e30ff270} WebId:d31c0006-5576-4d1f-a0bb-ba3ce4ff787b 显示字段:标题 UnlimitedLengthInDocumentLibrary : FALSE 组 : _我的专栏 编号:{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c} 来源 ID:{d31c0006-5576-4d1f-a0bb-ba3ce4ff787b} 静态名称:My_x0020_Lookup 名称:My_x0020_Lookup 版本:1 更改显示名称... 字段现在是: 类型:查找 显示名称:新的显示名称 必需:假 强制唯一值:假 列表:{447f56b0-0e38-461c-a0d2 -aa58e30ff270} WebId:d31c0006-5576-4d1f-a0bb-ba3ce4ff787b 显示字段:标题 UnlimitedLengthInDocumentLibrary : FALSE 组 : _我的专栏 编号:{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c} 来源 ID:{d31c0006-5576-4d1f-a0bb-ba3ce4ff787b} 静态名称:My_x0020_Lookup 名称:My_x0020_Lookup 版本:1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多