Permettere il copia/incolla di XML all'interno di un progetto C#

Scritto da  Simone Di Stasio il domenica 8 gennaio 2012  •  Linguaggio: C#   • Livello: 100


Se si lavora in VB.NET non si sente la problematica dovuta al copia/incolla di un documento XML, in quanto, grazie agli Xml Literals, la funzionalità è nativamente supportata dal linguaggio.
In c# invece se si copia un xml e lo si incolla in Visual Studio 2010 il risultato non è quello che ci si aspetta, ecco quindi una pillola che risolve il problema.

  • Estrarre il contenuto del file zip C:\Program Files (x86)\Microsoft Visual Studio XX.XX\Samples\1033\CSharpSamples.zip
  • Aprire la solution LinqSamples\PasteXmlAsLinq e compilare.
  • Aggiungere il risultato della compilazione PasteXmlAsLinq.AddIn,PasteXmlAsLinq.dll alla cartella AddIn di Visual Studio, generalmente è questa C:\Users\All vUsers\Microsoft Visual Studio\Addins. Se la cartella Addins non esiste createla.
  • Riavviare Visual Studio.

Ora si potrà incollare direttamente un xml in visual studio che creerà automaticamente la struttura XElement

Partiamo dal seguente Xml:

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <nodes id="nodes">
    <node id="node 1"/>
    <node id="node 2"/>
    <node id="node 3"/>
  </nodes>
</response>

 

otterremo:

XElement xml = new XElement("response",
           new XElement("nodes",
       new XAttribute("id", "nodes"),
         new XElement("node",
        new XAttribute("id", "node 1")),
            new XElement("node",
        new XAttribute("id", "node 2")),
          new XElement("node",
    new XAttribute("id", "node 3"))));

 


Tags: C#

 
x