Partage
  • Partager sur Facebook
  • Partager sur Twitter

supprimer des lignes dans un ficher XML

    20 juin 2011 à 13:15:47

    Bonjour,

    je sollicite votre aide, c est à propos d'un fichier XML, enfaite j'extrais des données d'un fichier XML, qui est composer de plusieurs appels téléphonique.

    Je voudrais une fois traiter les informations d'un poste (100 par exemple ,celui-ci est contenue dans une variable tiré d'une textBox), supprimer les lignes correspondant a l'appel.

    Voici comment est composer mon fichier XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <CallAccountingList>
    ...
    	<CallAccounting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CAPTicket_V001.001.xsd">*
    		<OmniPCXOffice>
    			<SoftwareVersion>3EH30369BVAA ALZQO510/023.004</SoftwareVersion>
    			<CPUIPAddress>192.168.92.246</CPUIPAddress>
    		</OmniPCXOffice>
    		<Checksum>550119011</Checksum>
    		<TicketType>Call</TicketType>
    		<ChargedUserType>A</ChargedUserType>
    		<ChargedUserID>100</ChargedUserID>
    		<SubscriberName>PO</SubscriberName>
    		<CommunicationType>Outgoing</CommunicationType>
    		<TrunkType>N</TrunkType>
    		<TrunkID>001</TrunkID>
    		<Date>2007-06-15</Date>
    		<Time>13:37:00</Time>
    		<CallDuration>00:00:25</CallDuration>
    		<TaxesAmount>0</TaxesAmount>
    		<Service>ST</Service>
    		<DialledNumber>0156412361</DialledNumber>
    		<DialledMode>M</DialledMode>
    		<RingingDuration>00:00:00</RingingDuration>
    		<Cost>0,77</Cost>
    		<Currency>EUR</Currency>
    	</CallAccounting>
    ...
    </CallAccountingList>
    



    CallAccounting=> Balise pour un appel

    CallAccounting=> Balise pour tout les appel



    Je traite les informations de cette façon :
    XDocument xDoc = XDocument.Load("C:\\Projet\\TicketCollector.XML");// Chargement du fichier .xml
       IEnumerable<XElement> elements = xDoc.Elements("CallAccountingList").Elements("CallAccounting").Where(el => el.Element("ChargedUserID").Value == chargedUserID && el.Element("CommunicationType").Value == "Outgoing"); // Recherche des éléments pour lesquels : 'ChargedUserID = NumPoste' et 'CommunicationType = Outgoing'
       using (StreamWriter sw = new StreamWriter("C:\\Projet\\Facture_detail.txt", true)) //Ouverture en écriture du fichier ,si non existant creation du fichier FicheClient.
       {
        foreach (XElement el in elements)// Boucle sur les éléments retenus
        {
    
         lineMessage = String.Format("Date {0}, Heure {1}, Duree {2}, Numero.Appelle {3}, Prix {4}", el.Element("Date").Value, el.Element("Time").Value, el.Element("CallDuration").Value, el.Element("DialledNumber").Value, el.Element("Cost").Value);
         sw.WriteLine(lineMessage);
         counter++;//Compte le nombre de communication
         Prix = String.Format("{0}", el.Element("Cost").Value);
         Double.TryParse(Prix, out Cost);
         TotalCost += Cost;
        }
       }
       compteur = Convert.ToString(counter);
    


    Cordialement jérémy
    • Partager sur Facebook
    • Partager sur Twitter

    supprimer des lignes dans un ficher XML

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown