Domanda

ho questo codice:

   [RdfSerializable( HasResourceUri=false )]
   public class Item
   {
      [RdfProperty(true)]
      public string MyProp;
   }

   [RdfSerializable]
   public class AllItems
   {
      [RdfProperty(true)] public string mTitle;

      private int id = new Random().Next(0, 20);

      [ResourceUri]
      public string ResourceUri 
      {
         get { return "This " + id.ToString(); }
      }

      [RdfProperty(false, Name="item")]
      public Item[] Items;
   }

creato in questo modo:

var item = new AllItems();
item.mTitle = "Hello World!";
item.Items = new Item[] { new Item() { MyProp = "test1" }, new Item() { MyProp = "test2" } };

var doc = Rdfizer.Serialize(item);

System.Console.Out.Write(doc.ToString());

Ecco una parte del risultato:

         <ns:AllItems rdf:about="This 1">
                <ns:mTitle rdf:datatype="http://www.w3.org/2001/XMLSchema#string
">Hello World!</ns:mTitle>
                <ns:item>
                        <ns:Item>
                                <ns:MyProp rdf:datatype="http://www.w3.org/2001/
XMLSchema#string">test1</ns:MyProp>
                        </ns:Item>
                </ns:item>
                <ns:item>
                        <ns:Item>
                                <ns:MyProp rdf:datatype="http://www.w3.org/2001/
XMLSchema#string">test2</ns:MyProp>
                        </ns:Item>
                </ns:item>
        </ns:AllItems>

La prima domanda è:? Come potrei fare ed essere un singolo tag

Seconda domanda: come potrei fare tag non è visibile, ma solo il suo contenuto? vale a dire tutti i suoi figli ad essere figli diretti di tag.

È stato utile?

Soluzione

In breve: ciò che si vuole viola specifiche RDF. Sembra che si desidera trattare l'output in formato XML, ma non si deve!

In RDF, di manipolare le triple e si dovrebbe mai e poi mai mi importa come viene serializzato in XML, RDF, perché è la sintassi indipendente e specifiche RDF / XML serializzazione permette di rappresentare la stessa serie di triple molti modo diverso. Per illustrare, si potrebbe prendere RDF Tool "A" creare un documento RDF. Si sceglie RDF Tool "B", di caricare il documento e salvarlo con un nuovo nome ancora una volta senza alcuna modifica. Si confrontano i due file e troverete gli stessi triple all'interno ma i due file XML potrebbe guardare molto diverso! Non si può fare i tag vanno e vengono, in realtà i tag "non sono la tua azienda" :).

La linea di fondo è, se si vuole dettare come il vostro XML di output dovrebbe essere simile, si dovrebbe solo dimenticare RDF completamente e basta usare gli strumenti semplici XML vecchi per fare ottenere il lavoro fatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top