PowerShell oferece várias maneiras de ler documentos XML, sem escrever um monte de código ou usando XPath. É assim que podes começar.
manipular XML é um daqueles tópicos que faz qualquer um que já fez isso encolher. Normalmente é demorado, difícil de entender e é uma grande dor de cabeça. Mexer com XML em algumas outras linguagens além do PowerShell requer essencialmente memorizar a árvore XML para ter certeza de que você está manipulando o nó direito no nível certo. Além disso, você provavelmente também terá que aprender a escrever consultas XPath obscuras para encontrar o conteúdo em um documento XML.
PowerShell and Reading XML files
PowerShell still has XPath but you don’t necessarily have to use it. PowerShell fornece uma maneira fácil de ler arquivos XML, manipulá-los e finalmente salvá-los de volta ao disco sem escrever um monte de código ou saber XPath. PowerShell faz isso fornecendo a notação de ponto do Usuário para significar cada nó no documento XML. Mas primeiro, vamos começar a ler um documento XML.
uma maneira de ler um documento XML em PowerShell é escrever uma variável para o tipo . Para criar esta variável, podemos usar o cmdlet Get-Content para ler todo o texto em um documento XML. Para digitar o resultado do Get-Content, podemos simplesmente preparar o texto antes da variável. Isso diz PowerShell que precisamos desta variável tipografada como um sistema.Xml.Tipo XmlDocument em vez do tipo de array padrão que normalmente vem de Get-Content.
$XmlDocument = Get-Content-Path C:Cars.xml
neste artigo, vamos usar um ficheiro XML chamado Cars.xml como exemplo, que contém várias marcas e modelos de carros.
Uma vez que execute o conteúdo de obtenção para ler o texto bruto do documento XML e moldar o resultado para o sistema de tipo.Xml.XmlDocument, você agora tem uma variável chamada $XmlDocument que contém toda a árvore de nós XML que representa esse documento.
neste ponto, ler o documento é uma tarefa trivial devido à notação de ponto acima mencionada. Como agora temos o documento XML em memória, podemos explorar a árvore.
Notice how we can get deeper and deeper into the document using dot notation? Se atingirmos um ponto no documento que contém nó de tipo similar (carros), então podemos tratá-lo como um conjunto de PowerShell e especificar um número de índice do nó que estamos procurando. Neste caso, estamos encontrando o primeiro carro no documento, especificando o número de índice de 0.
digamos que você quer encontrar todos os carros neste documento XML que têm quatro ou mais assentos. Simplesmente usando o Common PowerShell cmdlet onde-objeto podemos facilmente recuperar essa informação.
combinando nós
nota que o PowerShell combina ambos os nós (elementos) e atributos XML todos num único conjunto? Isto permite-lhe percorrer facilmente o documento usando apenas a notação do ponto e o cmdlet onde-objecto. O PowerShell conhece todos os atributos e subelementos que estão associados a cada XML pai e mostra-os numa tabela bonita para si, por omissão.
mostrámos-lhe um método com o qual pode ler documentos XML. Uma das coisas boas sobre PowerShell é que pode ser tão fácil ou tão difícil como você quer que seja. Nós mostramos como encontrar nós em um documento XML usando notação de pontos. Se alguma vez tiver a necessidade de fazer uma pesquisa mais avançada, sugerimos que Procure usar cmdlets como Select-Xml para criar consultas mais poderosas. De qualquer forma, PowerShell irá permitir que você leia e encontre praticamente qualquer coisa de um documento XML. O resto é contigo.