[C# / LINQ to XML] Générer des balises contenant des ':'

Générer des balises contenant des ':' [C# / LINQ to XML] - C#/.NET managed - Programmation

Marsh Posté le 04-04-2012 à 19:39:26    

Bonjour,
 
Je débute en C# et j'utilise LINQ to XML pour générer un fichier xml. Les balises doivent être de cette forme : <my:machin> bidule</my:machin>
J'ai donc utilisé le code suivant :
 

Code :
  1. XElement element1 = new XElement("my:machin","bidule" );


 
Ce qui me donne une erreur : "Le caractère ':', valeur hexadécimale 0x3A, ne peut pas être inclus dans un nom."
 
En cherchant sur le net, j'ai vu qu'il fallait déclarer le namespace 'my' pour ensuite utiliser le code suivant :

Code :
  1. XNamespace my = "http://url/qui/est/un/exemple";
  2. XElement element1 = new XElement(my + "machin", "bidule" );


 
Du coup, ça me génère bien les balises mais pas sous la forme <my:machin> bidule</my:machin> comme voulu mais sous cette forme :

Code :
  1. <machin xmlns="http://url/qui/est/un/exemple"> bidule</machin>


 
Comment faire pour générer les balises comme voulu ?
 
 :??:

Reply

Marsh Posté le 04-04-2012 à 19:39:26   

Reply

Marsh Posté le 04-04-2012 à 21:48:31    

Si tu génères un en tête XML avec ce namespace, ça a des chances de faire ce que tu veux.
 

Citation :

Ce qui me donne une erreur : "Le caractère ':', valeur hexadécimale 0x3A, ne peut pas être inclus dans un nom."

C'est marrant, parce que c'est clairement faux. On a droit au : dans un nom (spec XML, paragraphe 2.3), mais ce qui précède le : doit identifier un namespace.
 
A+,


Message édité par gilou le 04-04-2012 à 21:50:02

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 09-04-2012 à 22:00:17    

Effectivement, ça marche mieux avec l'en-tête adéquate ! :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed