2010-08-25 3 views
2

Je souhaite ajouter un attribut Test (commun) à tous mes fichiers XML. Alors que je pourrais l'utiliser comme un attribut commun quand je veux les tester.Ajout d'attributs au fichier XML Linq C#

J'ai essayé CreateAttribute mais Linq ne marche pas reconnaître

J'ai essayé "xElement.Add (nouveau XAttribute (" Test "valeur));" mais cela n'a pas fonctionné non plus Avez-vous des suggestions?

Merci

Voici par exemple un code

public void updateXmlFile(string strFileName) 
    { 
     XDocument oXDoc = XDocument.Load(strFileName); 
     XElement oDcElement = oXDoc.Root.FirstNode as XElement; 

     //Generate a Unique String to replace the original attribute value 
     string newValue = GetUniqueKey(); 

     //oDcElement.Add(new XAttribute("Test", newValue)); /*NullReferenceException*/ 

     oDcElement.Attribute("Remark").Value = newValue; //This changes only the Remark Attribute 
     oXDoc.Save(strFileName);       //which isn't available in all XMLs 

    } 

Je veux ajouter une valeur supplémentaire, commune aux XMLs je passe par cette méthode et lui donner une valeur aléatoire

Mon but est de pouvoir faire des changements sur un XML puis de le comparer à la copie d'origine dans un autre dossier

+0

Vous semblez être sur la bonne voie, s'il vous plaît pouvez-vous coller la source complète? – TimS

Répondre

8

Utiliser SetAttribute:

oDcElement.SetAttributeValue("Test", newValue); 
+0

Je me suis dit que je ne peux pas le faire puisque je récupère des données de la base de données et si je veux ajouter un attribut, je dois ajouter une colonne supplémentaire à la base de données. – Reda

+0

Votre question initiale ne dit rien sur une base de données. Il s'agit simplement d'ajouter un nouvel attribut à un nœud d'un fichier XML chargé depuis le système de fichiers. Je ne comprends pas ce que signifie votre commentaire. – PatrickSteele

+0

Désolé pour ça je serai plus clair la prochaine fois – Reda