Question
Besoin d'aide extraction xml
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 16 ans 6 mois #5270
par Gabriel
Besoin d'aide extraction xml a été créé par Gabriel
Bonjour a toutes et tous
j'ai un besoin evidement urgent... j'ai besoin d'extraire d'un fichier XML 3 champs pour en faire un csv. Tous les exemples que j'ai trouvé de manipulation xml s'arrete a 2 \"niveaux\" genre
[code:1]<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\" xmlns:g=\"base.google.com/ns/1.0\">
<channel>
<title>fiddlels - Amazon Store</title>
<description>Selected books and music</description>
<link>s1.amazon.com/exec/varzea/ts/customer-op...-9123145</link>
<item>
<title>Discovering music: A course in music appreciation (War Department Education...</title>
<description>Discovering music: A course in music appreciation (War Department Education...</description>
<link>www.amazon.com/gp/offer-listing/B0007HWG...XBWOFOWV</link>
<g:id>0529B017861</g:id>
<g:image_link></g:image_link>[/code:1]
mais pas d'exemple sur + de profondeur et malgré mes essais je n'arrive pas vraiment a descendre ... et donc recuperer mon infos (en piece jointe un fichier exemple qui est un extract d'une base Office communicator...) mais voici un petit extrait
[code:1]<?xml version=\"1.0\" encoding=\"utf-8\"?>
<HomedResources xmlns=\"schemas.microsoft.com/RtcServer/2002/11/dbimpexp\" Version=\"21\">
<HomedResource UserAtHost=\"daffy.duck@msocs.local\" Enabled=\"1\" RichMode=\"1\" VersionContact=\"7\" VersionPermission=\"1\" xmlns=\"schemas.microsoft.com/RtcServer/2002/11/dbimpexp\">
<ContactGroups>
<ContactGroup Number=\"1\" DisplayName=\"~\" />
</ContactGroups>
<Contacts>
<Contact Buddy=\"bugs.bunny@msocs.local\" SubscribePresence=\"1\" Groups=\"1\" />
<Contact Buddy=\"pepe.thepew@msocs.local\" SubscribePresence=\"1\" Groups=\"1\">
<ContactExtension><![CDATA[<contactSettings contactId=\"f6ed7389-ed9f-49fc-8adc-e7c525d9d051\" ></contactSettings>
]]></ContactExtension>
</Contact>
<Contact Buddy=\"will.e.coyote@msocs.local\" SubscribePresence=\"1\" Groups=\"1\" />
</Contacts>
<Containers>
<Container AuthMask=\"0\" Version=\"0\" ContainerNumber=\"0\" Everyone=\"1\">
<Publication CategoryName=\"contactCard\" InstanceNum=\"0\" Version=\"5\" LastPubTime=\"2009-06-30T11:49:32.530\" PrevPubTime=\"2009-05-28T10:10:59.437\">
<Data>
<contactCard xmlns=\"schemas.microsoft.com/2006/09/sip/contactcard\">
<identity>
<name>
<displayName>
Daffy Duck</displayName>
</name>
</identity>
</contactCard>
</Data>
</Publication>
</Container>[/code:1]
j'ai besoin de recuperer les valeurs pour chaque utilisateur leur adresse SIP, leur nom complet et si ils sont actif ou non
les \"champs\" XML sont:
Les 2 champs suivants ne me pose pas de problemes
on doit avoir comme resultat (par exemple)
le 3eme champs est plus compliqué car il apparait plusieurs fois HomedResources/HomedResource/Containers/Container apparait 6 fois, et dedans on a le champs displayName. Pour chaque @ SIP dans l'arborescence on a 6 fois le displayName...
Si un expert powershell/XML pouvait m'aider...
<br><br>Message édité par: tonic8, à: 8/09/09 13:58
j'ai un besoin evidement urgent... j'ai besoin d'extraire d'un fichier XML 3 champs pour en faire un csv. Tous les exemples que j'ai trouvé de manipulation xml s'arrete a 2 \"niveaux\" genre
[code:1]<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\" xmlns:g=\"base.google.com/ns/1.0\">
<channel>
<title>fiddlels - Amazon Store</title>
<description>Selected books and music</description>
<link>s1.amazon.com/exec/varzea/ts/customer-op...-9123145</link>
<item>
<title>Discovering music: A course in music appreciation (War Department Education...</title>
<description>Discovering music: A course in music appreciation (War Department Education...</description>
<link>www.amazon.com/gp/offer-listing/B0007HWG...XBWOFOWV</link>
<g:id>0529B017861</g:id>
<g:image_link></g:image_link>[/code:1]
mais pas d'exemple sur + de profondeur et malgré mes essais je n'arrive pas vraiment a descendre ... et donc recuperer mon infos (en piece jointe un fichier exemple qui est un extract d'une base Office communicator...) mais voici un petit extrait
[code:1]<?xml version=\"1.0\" encoding=\"utf-8\"?>
<HomedResources xmlns=\"schemas.microsoft.com/RtcServer/2002/11/dbimpexp\" Version=\"21\">
<HomedResource UserAtHost=\"daffy.duck@msocs.local\" Enabled=\"1\" RichMode=\"1\" VersionContact=\"7\" VersionPermission=\"1\" xmlns=\"schemas.microsoft.com/RtcServer/2002/11/dbimpexp\">
<ContactGroups>
<ContactGroup Number=\"1\" DisplayName=\"~\" />
</ContactGroups>
<Contacts>
<Contact Buddy=\"bugs.bunny@msocs.local\" SubscribePresence=\"1\" Groups=\"1\" />
<Contact Buddy=\"pepe.thepew@msocs.local\" SubscribePresence=\"1\" Groups=\"1\">
<ContactExtension><![CDATA[<contactSettings contactId=\"f6ed7389-ed9f-49fc-8adc-e7c525d9d051\" ></contactSettings>
]]></ContactExtension>
</Contact>
<Contact Buddy=\"will.e.coyote@msocs.local\" SubscribePresence=\"1\" Groups=\"1\" />
</Contacts>
<Containers>
<Container AuthMask=\"0\" Version=\"0\" ContainerNumber=\"0\" Everyone=\"1\">
<Publication CategoryName=\"contactCard\" InstanceNum=\"0\" Version=\"5\" LastPubTime=\"2009-06-30T11:49:32.530\" PrevPubTime=\"2009-05-28T10:10:59.437\">
<Data>
<contactCard xmlns=\"schemas.microsoft.com/2006/09/sip/contactcard\">
<identity>
<name>
<displayName>
Daffy Duck</displayName>
</name>
</identity>
</contactCard>
</Data>
</Publication>
</Container>[/code:1]
j'ai besoin de recuperer les valeurs pour chaque utilisateur leur adresse SIP, leur nom complet et si ils sont actif ou non
les \"champs\" XML sont:
Les 2 champs suivants ne me pose pas de problemes
- HomedResources/HomedResource/UserAtHost
- HomedResources/HomedResource/Enabled
- HomedResources/HomedResource/Containers/Container/Publication/Data/contactCard/identity/name/displayName
on doit avoir comme resultat (par exemple)
- UserAtHost: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
- Enabled: 1 (ou 0)
- displayName: Daffy Duck
le 3eme champs est plus compliqué car il apparait plusieurs fois HomedResources/HomedResource/Containers/Container apparait 6 fois, et dedans on a le champs displayName. Pour chaque @ SIP dans l'arborescence on a 6 fois le displayName...
Si un expert powershell/XML pouvait m'aider...
La pièce jointe small_contacts.txt est absente ou indisponible
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 6 mois #5271
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Besoin d'aide extraction xml
Salut,
tonic8 écrit:
Tu peux déjà étudier si XPath peut être utile, un exemple ici , mais peut être pas exploitable dans l'urgence
tonic8 écrit:
De ce que j'ai compris, pour chaque occurence du nom dans Containers c'est tjrs le même, il me semble qu'il s'agit d'une duplication d'information. Faut regarder le XSD.le 3eme champs est plus compliqué car il apparait plusieurs fois HomedResources/HomedResource/Containers/Container apparait 6 fois, et dedans on a le champs displayName. Pour chaque @ SIP dans l'arborescence on a 6 fois le displayName...
Tu peux déjà étudier si XPath peut être utile, un exemple ici , mais peut être pas exploitable dans l'urgence
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Besoin d'aide extraction xml