PowerShell设置XML值#text

时间:2013-03-25 06:39:04

标签: xml powershell text

我尝试设置元素的值。它在我的XML中不是空的,它可以工作,但如果它是空的,则不起作用。

我的XML:

...
<Field IDREF="934d80f1" Name="FirstName">works</Field>
<Field IDREF="936845ba" Name="LastName"></Field>
...

如果我用

写内容
$record.BusinessObject.FieldList.Field | Where-Object { $_.Name -eq $field }

它返回

IDREF           Name                        #text
-----           ----                        -----
934d80f1        FirstName                   works

在第二行中缺少“虚拟”属性#text:

IDREF           Name
-----           ----
936845ba        LastName

使用PowerShell代码

record.BusinessObject.FieldList.Field | Where-Object { $_.Name -eq $field } | ForEach-Object { $_.'#text' = $state }

我想设置值&gt; VALUE&lt;所选元素的如果值为空,它不起作用......

我该怎么做?

1 个答案:

答案 0 :(得分:4)

尝试使用$_.InnerXml属性,它将在必填字段上设置值。

$record.BusinessObject.FieldList.Field | Where-Object {
  $_.Name -eq $field
} | ForEach-Object {
  $_.InnerXml = $state
}