Supposons l'exemple suivant:
J'ai un fichier XML appelé plants.xml
<?xml version="1.0" encoding="utf-8"?>
<Plant>
<Zone Left="{PRKNG-7}">
<Data key="Bloodroot">Sanguinaria_canadensis</Data>
<Data key="Columbine">Aquilegia_canadensis</Data>
<Data key="Hepatica">Hepatica_americana</Data>
<Data key="Mayapple">Podophyllum_peltatum</Data>
</Zone>
<Direction Right="{PRKNG-8}">
<Data key="Zone">4</Data>
<Data key="Light">Shade</Data>
<Data key="Depth">Surface</Data>
<Data key="Availability">23262156</Data>
</Direction>
</Plant>
Avec PowerShell, je souhaite récupérer le numéro "23262156" derrière "Disponibilité", ajouter 1 et enregistrer à nouveau le code XML.
Je ne veux pas remplacer le nombre (puisqu'il est différent à chaque fois), il suffit d'ajouter 1, pour qu'il s'agisse de 23262157.
La prochaine fois, le nombre pourrait être 234159 et je voudrais ajouter 1, ce sera donc 234160.
Pour être clair: je ne veux pas utiliser pour "remplacer" la commande. Get-Content c: \ 1.txt | ForEach-Object {$ _ -replace "23262156", "23262157"} | Set-Content c: \ 1.txt Je veux utiliser quelque chose comme "23262156" +1 donc le résultat est 23262157. Parce que la prochaine fois que j'exécuterai le script, il pourrait y avoir un autre numéro. Si j'exécute une commande "replace", le résultat sera à nouveau 23262157 au lieu du nombre +1.
la source
<Data key="Availibility">03262157</Data>
en plus de celle qui dit<Data key="Availibility">03262156</Data>
? Non? Vous voulez remplacer celui qui dit<Data key="Availibility">03262156</Data>
par celui qui dit<Data key="Availibility">03262157</Data>
? S'il vous plaît, expliquez. (2) Juste par curiosité, vos données ne sont-elles pas mal orthographiées «Disponibilité»? (3) Avez-vous vraiment besoin de préserver les zéros non significatifs? … (Suite)Réponses:
Utilisez XSLT:
Avec la feuille de style suivante:
Ce qui produit la sortie suivante:
Références
Comment puis-je émettre une représentation XML échappée d'un nœud dans la sortie HTML de mon XSLT - Dépassement de pile
Conversion de XML en texte d'échappement dans XSLT - Dépassement de pile
Select-Xml
Fichier sortant
Processus PowerShell pratiques avec l'automatisation des modifications SQL - Redgate Software
tech-comments: Rapports PowerShell avec XML - Partie 1
la source