Foros del Web » Soporte técnico » Ayuda General »

Cambiar atributos y valores de un XML con PowerShell

Estas en el tema de Cambiar atributos y valores de un XML con PowerShell en el foro de Ayuda General en Foros del Web. Hola muchachos quisiera hacer una consulta quisiera cambiar unos valores de unas lineas de comandos de un archivo xml, estoy utilizando el PowerGui Script Editor, ...
  #1 (permalink)  
Antiguo 24/08/2017, 15:38
Avatar de xArchangellx  
Fecha de Ingreso: octubre-2008
Ubicación: Peru
Mensajes: 208
Antigüedad: 9 años, 1 mes
Puntos: 5
Pregunta Cambiar atributos y valores de un XML con PowerShell

Hola muchachos quisiera hacer una consulta quisiera cambiar unos valores de unas lineas de comandos de un archivo xml, estoy utilizando el PowerGui Script Editor, vi un ejemplo y me funciono con una de las etiquetas, pero no se cambiar los valores que se encuentran dentro de esa etiqueta
les muestro el codigo

archivo: ejemplo.xml
<?xml version='1.0' encoding='UTF-8' ?>
<account version='1.0'>
<cuenta>
<nombre>Jonathan</nombre>
<apellido>Muñoz</apellido>
</cuenta>
</account>


Codigo:
#Definimos la ubicación de nuestro fichero .XML
$filePath= "\ejemplo.xml"

#Guardamos el contenido de nuestro fichero .XML en una variable
[xml]$XML = Get-Content $filePath

#Creamos una variable para almacenar el valor a cambiar
$value1= "Nombre Cambiado"

#Modificamos el campo NOMBRE con el valor de la variable antes creada
$value=$XML.account.cuenta.nombre = $value1

#Guardamos el fichero .XML con la modificación realizada
$xml.save($filePath)

Resultado
<?xml version='1.0' encoding='UTF-8' ?>
<account version='1.0'>
<cuenta>
<nombre> Nombre Cambiado </nombre>
<apellido>Muñoz</apellido>
</cuenta>
</account>

Me funciona pero cuando tengo quisiera cambiar
<Handler Name="CredentialProviderHandler" Enable="1">
<property Name="InstalledState" value="Install" Enable="0" />
<property Name="Guid" value="{FC205E00-2E7C-4624-906B-C9F440E669A2}" Enable="0" />
<property Name="CredentialProviderLibraryFileName" value="SysAidUnlckRstPasswd_08501.dll" Enable="1" />
</Handler>

Install por el Unistall
Enable 1 por el 0

Nose como hacerlo

Última edición por xArchangellx; 24/08/2017 a las 16:46
  #2 (permalink)  
Antiguo 30/11/2017, 22:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.041
Antigüedad: 15 años
Puntos: 37
Respuesta: Cambiar atributos y valores de un XML con PowerShell

No conozco el lenguaje que estas usando, pero en el 1er caso que marcas como exitoso es x que estas accediendo al valor dentro de las etiquetas.

Para el caso que mencionas no saber como, debes acceder a los ATTRIBUTES de las etiquetas, no propiamente a su valor. En tu lenguaje debe haber algo para detectar el atributo si existe y cambiar su objnodo.attributes("value")="UNISTALL"



La zona horaria es GMT -6. Ahora son las 14:59.