README.md — Documentation complète du projet
Refonte action Write : modifier les XML existants au lieu de les regenerer
This commit is contained in:
@@ -71,4 +71,30 @@ function New-EnoceanDeviceXml {
|
||||
return $xml
|
||||
}
|
||||
|
||||
Export-ModuleMember -Function Get-DeviceListFromJson, Parse-EnoceanDeviceXml, New-EnoceanDeviceXml
|
||||
function Update-EnoceanDeviceId {
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[string]$XmlContent,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[string]$NewDeviceId
|
||||
)
|
||||
|
||||
# Parser pour extraire les valeurs actuelles
|
||||
[xml]$xml = $XmlContent
|
||||
$config = $xml.EnOceanDevice.Configuration
|
||||
$oldDeviceId = $config.DeviceId
|
||||
$deviceType = $config.DeviceType
|
||||
|
||||
# Remplacement par regex sur le XML brut (preserve l'encodage et le formatage original)
|
||||
$modifiedXml = $XmlContent -replace "<DeviceId>[^<]*</DeviceId>", "<DeviceId>$NewDeviceId</DeviceId>"
|
||||
|
||||
return @{
|
||||
ModifiedXml = $modifiedXml
|
||||
OldDeviceId = $oldDeviceId
|
||||
DeviceType = $deviceType
|
||||
}
|
||||
}
|
||||
|
||||
Export-ModuleMember -Function Get-DeviceListFromJson, Parse-EnoceanDeviceXml, New-EnoceanDeviceXml, Update-EnoceanDeviceId
|
||||
|
||||
Reference in New Issue
Block a user