我有一个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或类似方法选择“ List”属性值(或该问题的任何属性)的正确方法是什么,然后进行更改。
假设您的示例中的Attribute是“ StaticName”,没有空格,那么以下内容对我有用。
电源外壳
$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
给出以下输出:
现场是: 类型:查找 显示名称:我查找 必需:false EnforceUniqueValues:FALSE 列表:{447f56b0-0e38-461c-a0d2 -aa58e30ff270} WebId:d31c0006-5576-4d1f-a0bb-ba3ce4ff787b ShowField:标题 UnlimitedLengthInDocumentLibrary:FALSE 组:_My列 ID:{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c}源ID:{d31c0006-5576-4d1f- a0bb-ba3ce4ff787b} StaticName:My_x0020_Lookup 名称:My_x0020_Lookup 版本:1正在 更改DisplayName ... 字段现在为: 类型:查找 DisplayName:新的DisplayName 必需:FALSE EnforceUniqueValues:FALSE 列表:{447f56b0-0e38-461c-a0d2 -aa58e30ff270} WebId:d31c0006-5576-4d1f-a0bb -ba3ce4ff787b ShowField:标题 UnlimitedLengthInDocumentLibrary:FALSE 组: _My Columns ID:{dc1ee48c-7bf8-487d-b63f-bfda9aedec4c} SourceID:{d31c0006-5576-4d1f-a0bb-ba3ce4ff787b} StaticName:My_x0020_Lookup 名称:My_x0020_Lookup 版本:1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句