Как получить весь узел в одном элементе с помощью PowerShell? - PullRequest
0 голосов
/ 13 января 2020

У меня есть xml файл, подобный этому

    <?xml version="1.0" encoding="utf-8"?>
    <List>
        <Name>
            <ID>
                <UID123>
                    <USERID>123</USERID>
                    <TechType>4G</TechType>
                    <INIT>
                        <String>Storage</String>
                        <Int>0011</Int>
                    </INIT>
                    <Fact>Default</Fact>
                </UID123>
                <UID456>
                    <USERID>456</USERID>
                    <TechType>4G</TechType>
                    <INIT>
                        <String>Storage</String>
                        <Int>0011</Int>
                    </INIT>
                    <Fact>Default</Fact>
                </UID456>
            </ID>
        </Name>     
    </List>

Я хочу получить весь узел в элементе UID123. Я пытался таким образом, но информация, которую я получил только это:

USERID            : 8594
TechType          : 4G
INIT              : INIT
OPTANE            : OPTANE
Fact              : Defaults

Значение от этого узла, я не получил его.

    <INIT>
        <String>Storage</String>
        <Int>0011</Int>
    </INIT>

Любой может помочь мне, пожалуйста. Спасибо.

    [xml]$Read = Get-Content -Path "D:\List.xml"
    $Info = $Read.List.Name.ID.UID123
    $Info | Out-File .\Output.txt

1 Ответ

1 голос
/ 13 января 2020

Вы можете получить данные для любого из тегов в xml, используя GetElementsByTagName. Вот как это следует использовать.

СОХРАНИТЬ И ПРОЧИТАТЬ НУЖНО XML

$info = $Read.GetElementsByTagName("UID123").OuterXml
$info | Out-File C:\temp\new.xml

[xml]$NewRead = Get-Content C:\temp\new.xml
$NewRead.UID123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...