Remplacer XML
Remplacer XMLÀ propos de la fonctionnalité de remplacement XML. |
- Les informations générales
- Exemples :
- Remplacer le texte dans tous les titres et les remarques d'entrée
- Remplacer toutes les adresses (URLs) HTTP par des adresses (URLs) HTTPS
- Remplacer les icônes de groupe
- Supprimer les chaînes d'entrée par nom
- Supprimer les pièces jointes d'entrée par extension de nom
- Réinitialiser les couleurs d'arrière-plan
- La saisie automatique :
- Désactiver la saisie automatique pour les entrées avec des champs vides
- Convertir {DELAY= en majuscules
- Ajouter {DELAY=50} à toutes les séquences sans un {DELAY=
- Modifier les valeurs {DELAY=
- Supprimer {DELAY=x} de toutes les séquences
- Réinitialiser les séquences par défaut qui contiennent {DELAY=
- Ajouter une association de saisie automatique à toutes les entrées
- Copier les adresses (URLs) d'entrée dans les champs Titre
- Copier les titres des entrées dans les champs Nom d'utilisateur vides
- S'assurer que la première ligne n'est pas vide
Les informations générales
Remplacer XML est une fonctionnalité puissante qui modifie une base de données en manipulant sa représentation XML.
Il crée un DOM XML KeePass 2.x de la base de données actuelle en mémoire, effectue l'opération spécifiée par l'utilisateur (par exemple : supprimer des nœuds ou remplacer du texte), charge l'arborescence XML modifiée, et fusionne la base de données actuelle avec la base de données modifiée.
Il s'agit d'une fonction réservée aux experts. Utilisez-la avec précaution !
Remplacer XML peut être invoqué via 'Outils' → 'Outils de la base de données' → 'Remplacer XML...'.
Des informations sur XPath et les expressions régulières sont disponibles sur la page d'aide Rechercher.
KeePass protège les entrées de l'historique ; XML Replace ne peut pas être utilisé pour les modifier. De plus, toute modification des propriétés de la base de données (nom/description de la base de données, etc.) peut être ignorée.
Exemples
Remplacer le texte dans tous les titres et les remarques d'entrée |
|
Sélectionner les nœuds : |
//Entry/String[(Key = 'Title') or (Key = 'Notes')]/Value |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
LeTexteÀRechercher |
Remplacer par : |
LeRemplacement |
Dans tous les titres et remarques d'entrée, cela remplace toutes les occurrences de LeTexteÀRechercher par LeRemplacement. |
Remplacer toutes les adresses (URLs) HTTP par des adresses (URLs) HTTPS |
|
Sélectionner les nœuds : |
//Entry/String[Key = 'URL']/Value |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
^http: |
Remplacer par : |
https: |
Options : |
☑ Expression régulière |
Dans tous les champs d'adresse (URL) d'entrée, cela remplace toutes les URL HTTP par des URL HTTPS. |
Remplacer les icônes de groupe |
|
Sélectionner les nœuds : |
//Group/IconID |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
^48$ |
Remplacer par : |
36 |
Options : |
☑ Expression régulière |
Cela assigne l'icône du package ZIP à tous les groupes qui ont actuellement un dossier fermé en tant qu'icône. |
Supprimer les chaînes d'entrée par nom |
|
Sélectionner les nœuds : |
//Entry/String[Key = 'LeNom'] |
Action : |
Supprime des nœuds |
Supprime toutes les chaînes de caractères d'entrée nommées LeNom. |
Supprimer les pièces jointes d'entrée par extension de nom |
|
Sélectionner les nœuds : |
//Entry/Binary/Key[(string-length(.) >= 4) and (substring(., string-length(.) - 3) = '.jpg')]/.. |
Action : |
Supprime des nœuds |
Supprime toutes les pièces jointes dont le nom se termine par « .jpg ». |
Réinitialiser les couleurs d'arrière-plan |
|
Sélectionner les nœuds : |
//Entry/BackgroundColor |
Action : |
Supprime des nœuds |
Positionne la couleur d'arrière-plan par défaut (transparent/alterné) à toutes les entrées. |
Désactiver la saisie automatique pour les entrées avec des champs vides |
|
Sélectionner les nœuds : |
//Entry/String[((Key = 'UserName') or (Key = 'Password')) and (Value = '')]/../AutoType/Enabled |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
True |
Remplacer par : |
False |
Désactive la saisie automatique pour toutes les entrées qui ont un champ Nom d'utilisateur ou un champ de mot de passe vide. |
Convertir {DELAY= en majuscules |
|
Sélectionner les nœuds : |
//DefaultSequence | //KeystrokeSequence |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
{DELAY= |
Remplacer par : |
{DELAY= |
Convertit tous les codes {DELAY= dans les substitutions et les associations de séquence de saisie automatique en majuscules (par défaut, l'option de sensibilité à la casse est désactivée, donc le texte 'Que rechercher' correspond à toutes les casses). |
Ajouter {DELAY=50} à toutes les séquences sans un {DELAY= |
|
Sélectionner les nœuds : |
(//DefaultSequence | //KeystrokeSequence)[not(contains(., '{DELAY=')) and (. != '')] |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
^(.*)$ |
Remplacer par : |
{DELAY=50}$1 |
Options : |
☑ Expression régulière |
Ajoute un {DELAY=50} à tous les remplacements et associations de séquence de saisie automatique qui ne contiennent déjà aucun {DELAY= et qui ne sont pas vides. |
Modifier les valeurs {DELAY= |
|
Sélectionner les nœuds : |
//DefaultSequence | //KeystrokeSequence |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
\{DELAY=[\d\s]*\} |
Remplacer par : |
{DELAY=50} |
Options : |
☑ Expression régulière |
Positionne les valeurs de tous les codes {DELAY= dans les remplacements et les associations de séquence de saisie automatique à 50. |
Supprimer {DELAY=x} de toutes les séquences |
|
Sélectionner les nœuds : |
//DefaultSequence | //KeystrokeSequence |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
\{DELAY=[\d\s]*\} |
Remplacer par : |
(Laisser vide) |
Options : |
☑ Expression régulière |
Supprime tous les codes {DELAY=x} de toutes les séquences de saisie automatique. |
Réinitialiser les séquences par défaut qui contiennent {DELAY= |
|
Sélectionner les nœuds : |
//DefaultSequence[contains(., '{DELAY=')] |
Action : |
Supprime des nœuds |
Si une séquence a été spécifiée dans le champ 'Remplacer la séquence par défaut' (dans la boîte de dialogue de saisie automatique) et qu'elle contient {DELAY=, alors la séquence est réinitialisée, c'est-à-dire que l'option 'Hériter de la séquence de saisie automatique par défaut du groupe parent' est activée. |
Ajouter une association de saisie automatique à toutes les entrées |
|
Sélectionner les nœuds : |
//Entry/AutoType |
Action : |
Remplace les données |
Données : |
XML externe |
Que rechercher : |
</AutoType>\Z |
Remplacer par : |
<Association><Window>* - Notepad</Window><KeystrokeSequence>{PASSWORD}</KeystrokeSequence></Association></AutoType> |
Options : |
☑ Expression régulière |
Ajoute une association de saisie automatique à toutes les entrées : le titre de la fenêtre '* - Bloc-notes' est associé à la séquence '{PASSWORD}'. |
Copier les adresses (URLs) d'entrée dans les champs Titre |
|
Sélectionner les nœuds : |
//Entry |
Action : |
Remplace les données |
Données : |
XML interne |
Que rechercher : |
(?s)(<Key>Title</Key>\s*)(<Value>.*?</Value>|<Value\s*/>)(.*?<Key>URL</Key>\s*)(<Value>.*?</Value>|<Value\s*/>) |
Remplacer par : |
$1$4$3$4 |
Options : |
☑ Sensible à la casse |
Copie l'adresse (URL) de l'entrée dans le champ Titre de l'entrée (en écrasant toutes les données existantes dans le champ Titre). |
Copier les titres des entrées dans les champs Nom d'utilisateur vides |
|
Sélectionner les nœuds : |
//Entry/String[(Key = 'UserName') and (Value = '')]/.. |
Action : |
Remplace les données |
Données : |
XML interne |
Que rechercher : |
(?s)(<Key>Title</Key>\s*<Value>)(.*?)(</Value>.*?<Key>UserName</Key>\s*)(<Value></Value>|<Value\s*/>) |
Remplacer par : |
$1$2$3<Value>$2</Value> |
Options : |
☑ Sensible à la casse |
Copie le titre de l'entrée dans le champ du nom d'utilisateur de l'entrée, si ce champ est vide. |
S'assurer que la première ligne n'est pas vide |
|
Sélectionner les nœuds : |
//Entry/String/Value |
Action : |
Remplace les données |
Données : |
Le texte interne |
Que rechercher : |
(?s)^(\r?\n) |
Remplacer par : |
--$1 |
Options : |
☑ Expression régulière |
Pour tous les champs multilignes, cela insère '--' dans la première ligne de la valeur du champ, si cette ligne est vide et que la valeur a au moins deux lignes. Exemple :
-- |