Question
XML ?
- Patrick Berthon
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 9 mois #2555
par Patrick Berthon
XML ? a été créé par Patrick Berthon
Bonjour,
Je stocke des données dans un fichier xml (c'est très à la mode, il parait )
J'ai bien pigé le truc, ça marche pas trop mal.
Par contre, quand je n'ai pas encore de donnée, comment est-ce que je peux créer mon premier Node ? Comment lui donner sa structure ?
Pour l'instant, j'en suis réduit à créer un fichier à la main, avec un node vide, et pour ajouter des nodes, je fait un clone et je le rempli ...
Pas très élégant, je trouve.
Merci,
Zylwee
[EDIT]Si la réponse est dans le livre, n'hésitez pas à m'y renvoyer (avec le N° de page, plz, j'ai pas trouvé )<br><br>Message édité par: Zylwee, à: 6/07/08 20:57
Je stocke des données dans un fichier xml (c'est très à la mode, il parait )
J'ai bien pigé le truc, ça marche pas trop mal.
Par contre, quand je n'ai pas encore de donnée, comment est-ce que je peux créer mon premier Node ? Comment lui donner sa structure ?
Pour l'instant, j'en suis réduit à créer un fichier à la main, avec un node vide, et pour ajouter des nodes, je fait un clone et je le rempli ...
Pas très élégant, je trouve.
Merci,
Zylwee
[EDIT]Si la réponse est dans le livre, n'hésitez pas à m'y renvoyer (avec le N° de page, plz, j'ai pas trouvé )<br><br>Message édité par: Zylwee, à: 6/07/08 20:57
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 9 mois #2558
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:XML ?
Salut,
Zylwee écrit:
Zylwee écrit:
Ex : powershell-scripting.com/index.php?optio...id=1688&catid=14
Zylwee écrit:
Message édité par: Laurent Dardenne, à: 7/07/08 13:28
Zylwee écrit:
Ce n'est pas la panacée mais c'est bien plus qu'une mode.c'est très à la mode, il parait
Zylwee écrit:
Tu dois disposer d'un XSD, schéma xml contenant la structure du fichier XML.Comment lui donner sa structure ?
Ex : powershell-scripting.com/index.php?optio...id=1688&catid=14
Zylwee écrit:
Il y a pas mal de monde qui procéde ainsi pour les données de tests. Tu peux utiliser des outils comme XMLSpy (www.altova.com/products/xmlspy/xml_editor.html ),xml notepad,visual studio express voir Word 2003 et >. Ensuite les outils ce n'est pas ce qui manque.Pas très élégant, je trouve.
Message édité par: Laurent Dardenne, à: 7/07/08 13:28
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Patrick Berthon
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 9 mois #2559
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:XML ?
Salut,
Et dire que j'ai Visual Studio 2008 Pro (payé, si si, payé ! )
Merci beaucoup pour le tuyau.
Zylwee
(www.altova.com/products/xmlspy/xml_editor.html ),xml notepad,visual studio express voir Word 2003
Et dire que j'ai Visual Studio 2008 Pro (payé, si si, payé ! )
Merci beaucoup pour le tuyau.
Zylwee
Connexion ou Créer un compte pour participer à la conversation.
- Patrick Berthon
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 9 mois #2570
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:XML ?
Salut,
Bon, maintenant que XMLSpy m'a donné les .xsd de mes .xml, comment puis-je dire à PowerShell de créer un node vide de la structure adéquate ?
Merci,
Zylwee
Bon, maintenant que XMLSpy m'a donné les .xsd de mes .xml, comment puis-je dire à PowerShell de créer un node vide de la structure adéquate ?
Merci,
Zylwee
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 9 mois #2586
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:XML ?
Un exemple :
[code:1]
#Test-xml.ps1
#crée le fichier à minima
@\"
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<Types>
</Types>
\"@| out-file \"$pwd\Test.xml\" -encoding UTF8
#visu en texte
cat \"$pwd\Test.xml\"
#valide le fichier via IE
$Oxml=[xml](.\Test.xml)
#ou
[xml](.\Test.xml)
#crée une instance XMLDocument
[xml]$Oxml= get-content \"$pwd\Test.xml\"
$Oxml.gettype()
$Oxml
$Oxml.Types
#affiche les noeuds accessible via des propriétés
$Oxml|gm -membertype property
#Crée un noeud de type 'element' et ayant comme nom de balise \"Type\"
[XML.XmlNode]$NoeudTYPE=$Oxml.CreateNode(\"element\",\"Type\", \"\"«»)
#Récupére la racine
[XML.XmlElement] $root = $oxml.psbase.DocumentElement
#Ajoute le noeud 'sous' la racine
$root.AppendChild($NoeudTYPE)
#visu du nouveau noeud
$Oxml.Types
#Crée un élément ayant comme nom de balise \"Name\"
$ElementNAME = $Oxml.CreateElement(\"Name\"«»)
#Renseigne le contenu de l'élément
$ElementNAME.psbase.InnerText = \"System.Array\"
#Ajoute l'élément 'sous' le noeud \"Type\"
$NoeudTYPE.AppendChild($ElementNAME)
#Affiche le document XML
$oxml.psbase.OuterXml
#
# <?xml version=\"1.0\" encoding=\"UTF-8\"?>
# <Types>
# <Type>
# <Name>System.Array</Name>
# </Type>
# </Types>
#Crée un noeud de type 'Commentaire' et ayant comme nom de balise \"Type\"
$Commentaire=$Oxml.CreateNode(\"comment\",\"\", \"\"«»)
$Commentaire.psbase.InnerText = \"Ceci est un commentaire\"
$NoeudTYPE.AppendChild($Commentaire)
$ElementMEMBERS=$Oxml.CreateNode(\"element\",\"Members\", \"\"«»)
#Ajoute le noeud 'sous' la racine
$NoeudTYPE.AppendChild($ElementMEMBERS)
#visu du nouveau noeud
$Oxml.Types
$oxml.psbase.OuterXml
# etc
#Sauve le fichier sur disque
$Oxml.save(\"$pwd\Test2.xml\"«»)
#Sauve le fichier sur la console
#plus lisible que $oxml.psbase.OuterXml
$Oxml.save([Console]::Out)
type \"$pwd\Test2.xml\"
[/code:1]
Je pensais que la manipulation de document XML était simplifié sous PowerShell elle l'est mais pas sur tous les aspects.
Quelques liens sur le sujet :
www.microsoft.com/technet/scriptcenter/t...winpsh/payette3.mspx
www.pluralsight.com/community/blogs/dan/...006/10/30/41434.aspx
www.pluralsight.com/community/blogs/dan/...006/11/25/42506.aspx
www.pluralsight.com/community/blogs/dan/...006/11/28/43561.aspx
www.clariusconsulting.net/blogs/kzu/arch...ShellNeedsXmlNs.aspx
www.pcpro.co.uk/realworld/104140/xml-through-powershell.html
blogs.msdn.com/powershell/archive/2007/0...e-xml-documents.aspx
blogs.msdn.com/dglover/archive/2007/06/2...ment-generation.aspx
www.hofernetworks.ch/powershell/tutorial...ell-read-write-save/
www.dreamincode.net/code/snippet2009.htm
blogs.technet.com/jamesone/archive/2008/...-it-s-all-about.aspx
[edit]
Voir aussi celui-ci
del.icio.us/powershell/XML
Message édité par: Laurent Dardenne, à: 11/07/08 18:30
[code:1]
#Test-xml.ps1
#crée le fichier à minima
@\"
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<Types>
</Types>
\"@| out-file \"$pwd\Test.xml\" -encoding UTF8
#visu en texte
cat \"$pwd\Test.xml\"
#valide le fichier via IE
$Oxml=[xml](.\Test.xml)
#ou
[xml](.\Test.xml)
#crée une instance XMLDocument
[xml]$Oxml= get-content \"$pwd\Test.xml\"
$Oxml.gettype()
$Oxml
$Oxml.Types
#affiche les noeuds accessible via des propriétés
$Oxml|gm -membertype property
#Crée un noeud de type 'element' et ayant comme nom de balise \"Type\"
[XML.XmlNode]$NoeudTYPE=$Oxml.CreateNode(\"element\",\"Type\", \"\"«»)
#Récupére la racine
[XML.XmlElement] $root = $oxml.psbase.DocumentElement
#Ajoute le noeud 'sous' la racine
$root.AppendChild($NoeudTYPE)
#visu du nouveau noeud
$Oxml.Types
#Crée un élément ayant comme nom de balise \"Name\"
$ElementNAME = $Oxml.CreateElement(\"Name\"«»)
#Renseigne le contenu de l'élément
$ElementNAME.psbase.InnerText = \"System.Array\"
#Ajoute l'élément 'sous' le noeud \"Type\"
$NoeudTYPE.AppendChild($ElementNAME)
#Affiche le document XML
$oxml.psbase.OuterXml
#
# <?xml version=\"1.0\" encoding=\"UTF-8\"?>
# <Types>
# <Type>
# <Name>System.Array</Name>
# </Type>
# </Types>
#Crée un noeud de type 'Commentaire' et ayant comme nom de balise \"Type\"
$Commentaire=$Oxml.CreateNode(\"comment\",\"\", \"\"«»)
$Commentaire.psbase.InnerText = \"Ceci est un commentaire\"
$NoeudTYPE.AppendChild($Commentaire)
$ElementMEMBERS=$Oxml.CreateNode(\"element\",\"Members\", \"\"«»)
#Ajoute le noeud 'sous' la racine
$NoeudTYPE.AppendChild($ElementMEMBERS)
#visu du nouveau noeud
$Oxml.Types
$oxml.psbase.OuterXml
# etc
#Sauve le fichier sur disque
$Oxml.save(\"$pwd\Test2.xml\"«»)
#Sauve le fichier sur la console
#plus lisible que $oxml.psbase.OuterXml
$Oxml.save([Console]::Out)
type \"$pwd\Test2.xml\"
[/code:1]
Je pensais que la manipulation de document XML était simplifié sous PowerShell elle l'est mais pas sur tous les aspects.
Quelques liens sur le sujet :
www.microsoft.com/technet/scriptcenter/t...winpsh/payette3.mspx
www.pluralsight.com/community/blogs/dan/...006/10/30/41434.aspx
www.pluralsight.com/community/blogs/dan/...006/11/25/42506.aspx
www.pluralsight.com/community/blogs/dan/...006/11/28/43561.aspx
www.clariusconsulting.net/blogs/kzu/arch...ShellNeedsXmlNs.aspx
www.pcpro.co.uk/realworld/104140/xml-through-powershell.html
blogs.msdn.com/powershell/archive/2007/0...e-xml-documents.aspx
blogs.msdn.com/dglover/archive/2007/06/2...ment-generation.aspx
www.hofernetworks.ch/powershell/tutorial...ell-read-write-save/
www.dreamincode.net/code/snippet2009.htm
blogs.technet.com/jamesone/archive/2008/...-it-s-all-about.aspx
[edit]
Voir aussi celui-ci
del.icio.us/powershell/XML
Message édité par: Laurent Dardenne, à: 11/07/08 18:30
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Patrick Berthon
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 9 mois #2587
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:XML ?
Salut,
Merci beaucoup pour cet exemple.
effectivement, je trouve que la manipulation est simplifiée par rapport, par exemple, au csharp.
D'un autre coté, j'ai peut-être cette impression parce que powershell semble faciliter à peu près tout ce qu'il touche
En fait, soyons honnête, je me demandais si il n'y avait pas un truc du style :
[xml]$a = XsdToXml \"c:/temp/test.xsd\"
qui créerait un fichier xml vide.
Merci
Merci beaucoup pour cet exemple.
effectivement, je trouve que la manipulation est simplifiée par rapport, par exemple, au csharp.
D'un autre coté, j'ai peut-être cette impression parce que powershell semble faciliter à peu près tout ce qu'il touche
En fait, soyons honnête, je me demandais si il n'y avait pas un truc du style :
[xml]$a = XsdToXml \"c:/temp/test.xsd\"
qui créerait un fichier xml vide.
Merci
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.084 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- XML ?