[英]How to Modify XML File using Powershell
Hi Friends i want to modify some Text value in <Option Name="Activate">1</Option>
to <Option Name="Activate">0</Option>
. 嗨,朋友们,我想将
<Option Name="Activate">1</Option>
一些Text值修改为<Option Name="Activate">0</Option>
。 I am unable to locate node value <Option Name="Activate">1</Option>
using powershell. 我无法使用Powershell找到节点值
<Option Name="Activate">1</Option>
。 below is the full code section in which i want to modify the Text. 以下是我要修改文本的完整代码部分。 Please help.
请帮忙。
<User Name="Richard">
<Option Name="Pass">b56e0b4ea4962283bee762525c2d490f</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback"></Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
Download XML File Here 在此处下载XML文件
So far i have tried Below Code but unable to complete. 到目前为止,我已经尝试了以下代码,但无法完成。 :(
:(
$xml = New-Object XML
$XML.Load("D:\PSScript\BookStore.xml")
$xml.bookstore.Users.user |
Where-Object { ($_.Name -eq 'Richard')} |
Select-Object -Property Option
**Note : I want to use a condition here for example i want to change 1 Tag text value only for specific user, In short i want to modify text based on user id, Like where name = Richard change its <Option Name="Activate">1</Option>
to <Option Name="Activate">0</Option>
** **注意:例如,我想在此处使用条件,例如,我只想为特定用户更改1个标记文本值,简而言之,我想根据用户ID修改文本,例如name = Richard更改其
<Option Name="Activate">1</Option>
到<Option Name="Activate">0</Option>
**
<BookStore>
<Settings>
<Item name="Admin port" type="numeric">88881</Item>
</Settings>
<Container>
<Containers Name="MasterVal">
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\reports">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<BookStore>
<Settings>
<Item name="Admin port" type="numeric">88881</Item>
</Settings>
<Container>
<Containers Name="MasterVal">
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\reports">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\WIN">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\WIN">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\Winsxs">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\SXS">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\Winsxs">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\SXS">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">1</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">1</Option>
<Option Name="AutoCreate">1</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</Containers>
<Containers Name="DMPL(9990)-D">
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder\\MST">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT\\Report_9990">
<Option Name="AutoCreate">1</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</Containers>
<Containers Name="DMPL(9990)-D">
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder\\MST">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT\\Report_9990">
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT\\Report_9990">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</Containers>
</Container>
<Users>
<User Name="leonardo">
<Option Name="Pass">05538eb07b4dbf66b1da4ea9374ac8f5</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT\\Report_9990">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</Containers>
</Container>
<Users>
<User Name="leonardo">
<Option Name="Pass">05538eb07b4dbf66b1da4ea9374ac8f5</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="repturet">
<Option Name="Pass">e076fc6c4c8a245beec106646719f738</Option>
<Option Name="Containers">
</Option>
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="repturet">
<Option Name="Pass">e076fc6c4c8a245beec106646719f738</Option>
<Option Name="Containers">
</Option>
<Option Name="Max Limit Allowed">0</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">0</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations>
<Authorization path="E:\\BookMaster\\RootFolder\\MST\\NT">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">1</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="Anuj">
<Option Name="Pass">270a8eaf5877a08bc69bdde947f8e8b6</Option>
<Option Name="Containers">DMPL(9990)-D</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
<Authorization path="E:\\BookMaster\\RootFolder\\MST">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">0</Option>
<Option Name="FileDelete">0</Option>
<Option Name="FileAppend">0</Option>
<Option Name="pathCreate">0</Option>
<Option Name="pathDelete">0</Option>
<Option Name="pathList">1</Option>
<Option Name="pathSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Authorization>
</Authorizations>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="Anuj">
<Option Name="Pass">270a8eaf5877a08bc69bdde947f8e8b6</Option>
<Option Name="Containers">DMPL(9990)-D</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="pallavi">
<Option Name="Pass">8d644bb6af9f1822de1d668d0ea6c36a</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="piyush">
<Option Name="Pass">db699a999e4a6c8bd867720850d3007c</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="pallavi">
<Option Name="Pass">8d644bb6af9f1822de1d668d0ea6c36a</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="piyush">
<Option Name="Pass">db699a999e4a6c8bd867720850d3007c</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="Richard">
<Option Name="Pass">b56e0b4ea4962283bee762525c2d490f</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
<User Name="Richard">
<Option Name="Pass">b56e0b4ea4962283bee762525c2d490f</Option>
<Option Name="Containers">MasterVal</Option>
<Option Name="Max Limit Allowed">2</Option>
<Option Name="Limit Allowed">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="Activate">1</Option>
<Option Name="Feedback">
</Option>
<Option Name="ForceSsl">2</Option>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</SpeedLimits>
</User>
</Users>
</BookStore>
</SpeedLimits>
</User>
</Users>
</BookStore>
Your main problem is you need to treat option elements as arrays. 您的主要问题是您需要将选项元素视为数组。 I copied your xml snippet to a file called test.xml and this code works (I'll explain how I parsed through your xml file at each step to show where Option is displaying as an array):
我将您的xml代码段复制到了一个名为test.xml的文件中,并且此代码有效(我将在每一步中解释如何通过xml文件进行解析,以显示Option在哪里显示为数组):
[xml] $info = Get-Content test.xml #Shorthand for New-Object..Load
#This command isn't necessary but is helpful when looking for an attribute
$info | Format-List *
#From above command saw that $info.User is the base document element
$info.User
#showed Attribute in Option
$info.User.Option
#displayed an array element with Attribute as the 5 (6th cause you start at 0) index
$info.User.Option[5]
#displayed Name and #text attributes with #text = 1
$info.User.Option[5].'#text' = "0"
#updated #text attribute to 0
From this you should be able to modify your script to work with the full xml file. 由此,您应该能够修改脚本以使用完整的xml文件。
As your still having problems, a better solution would be to adjust your xml so you can access each user as a full object rather then parsing through attributes: 由于您仍然遇到问题,因此更好的解决方案是调整xml,以便您可以将每个用户作为完整对象访问,而不是通过属性进行解析:
<User>
<name>Richard</name>
<pass>b56e0b4ea4962283bee762525c2d490f</pass>
<containers>MasterVal</containers>
<maxLimit>2</maxLimit>
<minLimit>0</minLimit>
<userLimit>0</userLimit>
<activate>1</activate>
<feedback></feedback>
<forceSsl>2</forceSsl>
<FileAllowed>
<Disallowed />
<Allowed />
</FileAllowed>
<Authorizations />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0"
UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>
Then you can access each user as $info.User.Richard
and change each activate tags using $info.User.Richard.activate = 0
. 然后,您可以以
$info.User.Richard
身份访问每个用户,并使用$info.User.Richard.activate = 0
更改每个激活标签。 If you cannot do this you'll need to use foreach: 如果您不能执行此操作,则需要使用foreach:
[xml] $info = Get-Content test.xml
foreach ($i in $info.BookStore.Users.User) {
if ($i.Name -eq "Richard") {
foreach ($e in $i.Option) {
if ($e.Name -eq "Activate") {
$e.'#text' = "0"
}
}
}
}
Then just write the xml back to the file. 然后只需将xml写回到文件中即可。 Note: Look at the use of select and select-xml if you want to simplify this later
注意:如果要稍后简化,请查看select和select-xml的用法
Updated: with full answer given xml file 更新:给出了完整答案的xml文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.