【发布时间】:2020-06-04 19:33:36
【问题描述】:
文档示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Identity PUBLIC "point.dtd" "point.dtd"[]>
<Identity created="1525465321820" name="Onboarding - GUI - External">
<Attributes>
<Map>
<entry key="displayName" value="Onboarding - GUI " />
<entry key="firstname" value="Z Orphaned ID" />
</Attributes>
</Identity>
我可以像这样为 displayName 和 firstname 赋值没有问题:
[string] $displayvalue = $xmldata.Identity.Attributes.Map.entry[0].value
[string] $firstname = $xmldata.Identity.Attributes.Map.entry[1].value
然后保存。
$myFile = 'C:\somefile.xml'
$xmldata.Save($myFile)
但是当我尝试对 name 做同样的事情时:
[string] $xmldata.Identity.Name = "TEST"
我遇到了一个错误:
在此对象上找不到属性“名称”。验证该属性是否存在并且可以设置。
谢谢
【问题讨论】:
-
错误就是它看起来的样子,xml 文件中没有 name 属性,除非
$myfile文件中有不同的内容,请向我们提供相关信息 -
嗨 Neko,名字就在那里 name="Onboarding - GUI - External"。从顶部开始的第 3 行。感谢您的回复。
-
哎呀,我的错...它可能需要不同的命令才能访问,因为它在属性内...尝试
$xmldata | get-member看看是否有命令 -
<map>属性是否正确?没有关闭</map> -
Thx Neko,有很多命令,抱歉,对 powershell 很陌生,不确定。这个怎么用..