Bonjour à toi,

Je me suis inscris sur ce forum car j'ai un souci et comme j'ai déjà trouvé beaucoup de réponse (et beaucoup appris) grâce à vous , je vous expose mon problème. J'ai un fichier xml et je souhaite le parsé de manière à récupérer les informations utiles et les mettre dans un tableau.
Pour l'instant j'essaye juste de les affichées mais je n'arrive pas à tout récupéré !

Voilà mon fichier .xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?xml version="1.0" encoding="utf-8" ?>
<run>
  <host>
    <address addr="192.168.1.1" addrtype="ipv4" />
    <address addr="00:00:0C:07:AC:02" addrtype="mac" />
    <hostnames>
 
    </hostnames>
  </host>
  <host>
    <address addr="192.168.1.2" addrtype="ipv4" />
    <address addr="00:11:25:29:E6:80" addrtype="mac" />
    <hostnames>
      <hostname name="pc01.domaine.fr" />
    </hostnames>
  </host>
  <host>
    <address addr="192.168.1.3" addrtype="ipv4" />
    <address addr="00:24:E8:E3:02:75" addrtype="mac" />
    <hostnames>
      <hostname name="pc02.domaine.fr" />
    </hostnames>
  </host>
</run>
Ce fichier est généré par un scan sur mon réseau pour identifié tout les devices.

Donc je voudrais récupérer pour chaque host :
- son adresse IPv4
- son adresse MAC
- son hostname

Voilà pour l'instant mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 XDocument xmldoc = XDocument.Load("nmap.xml");
 
            var hosts = from host in xmldoc.Descendants("address")
                        select new
                        {
                            address = (string)host.Attribute("addr").Value
                        };
 
            foreach (var host in hosts)
                Console.WriteLine("Address :" + host.address);
mais du coup il ne fait pas la différence entre les adresses IPv4 et les adresses MAC.

Sinon pour le hostname, là je sèche complètement car soi il me récupère rien, soi il me saute le premier.

Voilà HELP ME, PLEASE