Question

J'ai ce code:

   [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;
   }

Créé cette façon:

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());

Voici une partie du résultat:

         <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 première question est: Comment pourrais-je faire et être une seule balise

Deuxième question: Comment pourrais-je faire étiquette non visible, mais seulement son contenu? dire tous ses enfants d'être des enfants directs de balise.

Était-ce utile?

La solution

En bref: ce que vous voulez viole les spécifications RDF. Il semble que vous souhaitez traiter la sortie comme XML, mais vous ne devriez pas!

En RDF, vous manipuler les triplets et vous ne devriez jamais soins comment il est sérialisé en XML, RDF est parce que la syntaxe indépendante et les spécifications RDF / sérialisation XML permet de représenter le même ensemble de triplets beaucoup de manière différente. Pour l'illustrer, vous pouvez choisir RDF Tool « A » créer un document RDF. Vous choisissez RDF Tool « B », charger ce document et de l'enregistrer sous un nouveau nom à nouveau sans aucune modification. Vous comparez les deux fichiers et vous trouverez les mêmes triplets à l'intérieur, mais les deux fichiers XML peut-être un aspect très différent! Vous ne pouvez pas faire des étiquettes d'aller et venir, en fait les balises sont « pas votre entreprise » :).

Le Bottomline est, si vous voulez dicter la façon dont votre XML de sortie devrait ressembler, vous devez simplement oublier RDF complètement et il suffit d'utiliser des outils anciens XML simples à faire faire le travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top