Saltar al contenido

¿Castear en powershell? ¿Sintaxis extraña?

Si te encuentras con algún detalle que te causa duda puedes dejarnos un comentario y te responderemos lo mas rápido que podamos.

Solución:

$x=[xml](get-content myxml.xml)

En PowerShell todo es un objeto. Eso incluye los Cmdlets. Casting es el proceso de convertir un tipo de objeto en otro.

Lo que esto significa para el casting es que, como en matemáticas, puede agregar corchetes innecesarios para ayudarlo a aclarar por sí mismo qué está sucediendo exactamente. En matemáticas 1 + 2 + 3 puede llegar a ser ((1 + 2) + 3) sin cambiar su significado. Para PowerShell, la conversión se realiza en el siguiente objeto (a la derecha), por lo que $x = [xml] get-content myxml.xml se convierte $x = ([xml] (get-content)) myxml.xml. Lo que esto muestra es que usted está tratando de emitir el cmdlet en un objeto xml, que no está permitido. Claramente, esto no es lo que está tratando de hacer, por lo que debe primero ejecutar el cmdlet y entonces elenco, también conocido como $x = [xml] (get-content myxml.xml). La otra forma de hacerlo, [xml] $x = get-content myxml.xmlestá declarando que la variable es del tipo xml para que todo lo que se le asigne (también conocido como todo el lado derecho del signo igual) se convierta en xml.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *