Xml 编辑结果中的属性

Xml 编辑结果中的属性,xml,powershell,xpath,Xml,Powershell,Xpath,嗨,我正在尝试从powershell中的xml读取节点。 代码 XML: 所以它起作用了 现在,我试图摆脱这个“ns=1;s=::AsGlobalPV:”在我的NodeId中的结果。 尝试了一个带有a-contains的foreach,然后尝试替换它,但没有任何效果。有人能帮我吗?在我将其转换为Html之前,是否有方法替换它,或者我必须在生成结果之前替换它?一旦$result是一个对象,您可以执行以下操作: # Update NodeId to a new value $result | for

嗨,我正在尝试从powershell中的xml读取节点。 代码

XML:

所以它起作用了

现在,我试图摆脱这个“ns=1;s=::AsGlobalPV:”在我的NodeId中的结果。
尝试了一个带有a-contains的foreach,然后尝试替换它,但没有任何效果。有人能帮我吗?在我将其转换为Html之前,是否有方法替换它,或者我必须在生成结果之前替换它?

一旦
$result
是一个对象,您可以执行以下操作:

# Update NodeId to a new value
$result | foreach {$_.NodeId = 'new value'}

# Replace text in NodeId
$result | foreach {$_.NodeId = $_.NodeId -replace 'ns=1;s=::AsGlobalPV:'}

您可以使用
$result | foreach{$\ NodeId='newvalue'}
$result{$\ NodeId=$\ NodeId-replace'ns=1;s=::AsGlobalPV:'}
来删除该字符串,这正是我想要的
<?xml version="1.0" encoding="utf-8"?>
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" xmlns:ua="http://xxx/NodeSet.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pv="http://yyy/NodeSet.xsd" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd">
    <UAObject NodeId="ns=1;s=::" BrowseName="1:::">
        <DisplayName>&lt;Default&gt;</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">ns=2;i=10001</Reference>
            <Reference ReferenceType="Organizes" IsForward="false">ns=2;i=20001</Reference>
            <Reference ReferenceType="Organizes">ns=1;s=::AsGlobalPV</Reference>
            <Reference ReferenceType="Organizes">ns=1;s=::Program</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:ObjectExtension>
                    <ACL>
                        <ACE Role="1" Allow="0x017F"/>
                        <ACE Role="2" Allow="0x015F"/>
                    </ACL>
                </pv:ObjectExtension>
            </Extension>
        </Extensions>
    </UAObject>
    <UAObject ParentNodeId="ns=1;s=::" NodeId="ns=1;s=::AsGlobalPV" BrowseName="1:Global PV">
        <DisplayName>Global PV</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">i=61</Reference>
            <Reference ReferenceType="Organizes" IsForward="false">ns=1;s=::</Reference>
            <Reference ReferenceType="Organizes">ns=1;s=::AsGlobalPV:gFahrzeug</Reference>
            <Reference ReferenceType="Organizes">ns=1;s=::AsGlobalPV:gLebewesen</Reference>
        </References>
    </UAObject>
    <UAVariable DataType="ns=1;i=100000" ParentNodeId="ns=1;s=::AsGlobalPV" NodeId="ns=1;s=::AsGlobalPV:gFahrzeug" BrowseName="1:gFahrzeug" AccessLevel="3" ValueRank="-1">
        <DisplayName>gFahrzeug</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">ns=1;i=100005</Reference>
            <Reference ReferenceType="HasComponent">ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:VariableExtension AuditEvents="true">
                    <Value>
                        <Binding Type="PV" Target="::gFahrzeug"/>
                    </Value>
                </pv:VariableExtension>
            </Extension>
        </Extensions>
    </UAVariable>
    <UAVariable DataType="ns=1;i=100010" ParentNodeId="ns=1;s=::AsGlobalPV:gFahrzeug" NodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug" BrowseName="1:Kraftfahrzeug" AccessLevel="3" ValueRank="-1">
        <DisplayName>Kraftfahrzeug</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">ns=1;i=100015</Reference>
            <Reference ReferenceType="HasComponent">ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW</Reference>
            <Reference ReferenceType="HasComponent">ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.PKW</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:VariableExtension AuditEvents="true">
                    <Value>
                        <Binding Type="PV" Target="::gFahrzeug.Kraftfahrzeug"/>
                    </Value>
                </pv:VariableExtension>
            </Extension>
        </Extensions>
    </UAVariable>
    <UAVariable DataType="i=3" ParentNodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug" NodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW" BrowseName="1:LKW" AccessLevel="3" ValueRank="1" ArrayDimensions="2">
        <DisplayName>LKW</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
            <Reference ReferenceType="HasComponent">ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[0]</Reference>
            <Reference ReferenceType="HasComponent">ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[1]</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:VariableExtension AuditEvents="true">
                    <Value>
                        <Binding Type="PV" Target="::gFahrzeug.Kraftfahrzeug.LKW"/>
                    </Value>
                </pv:VariableExtension>
            </Extension>
        </Extensions>
    </UAVariable>
    <UAVariable DataType="i=3" ParentNodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW" NodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[0]" BrowseName="1:LKW[0]" AccessLevel="3">
        <DisplayName>LKW[0]</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:VariableExtension AuditEvents="true">
                    <ACL>
                        <ACE Role="1" Allow="0x017F"/>
                        <ACE Role="2" Allow="0x015F"/>
                    </ACL>
                    <Value>
                        <Binding Type="PV" Target="::gFahrzeug.Kraftfahrzeug.LKW[0]"/>
                    </Value>
                </pv:VariableExtension>
            </Extension>
        </Extensions>
    </UAVariable>
    <UAVariable DataType="i=3" ParentNodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW" NodeId="ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[1]" BrowseName="1:LKW[1]" AccessLevel="3">
        <DisplayName>LKW[1]</DisplayName>
        <References>
            <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
        </References>
        <Extensions>
            <Extension>
                <pv:VariableExtension AuditEvents="true">
                    <ACL>
                        <ACE Role="1" Allow="0x017F"/>
                        <ACE Role="2" Allow="0x015F"/>
                    </ACL>
                    <Value>
                        <Binding Type="PV" Target="::gFahrzeug.Kraftfahrzeug.LKW[1]"/>
                    </Value>
                </pv:VariableExtension>
            </Extension>
        </Extensions>
    </UAVariable>
</UANodeSet>
DataType        : i=3
ParentNodeId    : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug
NodeId          : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW
BrowseName      : 1:LKW
AccessLevel     : 3
ValueRank       : 1
ArrayDimensions : 2
DisplayName     : LKW
References      : References
Extensions      : Extensions

DataType     : i=3
ParentNodeId : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW
NodeId       : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[0]
BrowseName   : 1:LKW[0]
AccessLevel  : 3
DisplayName  : LKW[0]
References   : References
Extensions   : Extensions

DataType     : i=3
ParentNodeId : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW
NodeId       : ns=1;s=::AsGlobalPV:gFahrzeug.Kraftfahrzeug.LKW[1]
BrowseName   : 1:LKW[1]
AccessLevel  : 3
DisplayName  : LKW[1]
References   : References
Extensions   : Extensions
# Update NodeId to a new value
$result | foreach {$_.NodeId = 'new value'}

# Replace text in NodeId
$result | foreach {$_.NodeId = $_.NodeId -replace 'ns=1;s=::AsGlobalPV:'}