2009-07-15 10 views
0

Ich habe diesen Code:Verdoppelte Tags für eine Immobilie in ROWLEX

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

auf diese Weise gestaltet:

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

Hier ist ein Teil des Ergebnisses:

  <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> 

Erste Frage ist: Wie könnte ich ein einzelnes Tag machen und sein?

Zweite Frage: Wie konnte ich Tag nicht sichtbar machen, aber nur seinen Inhalt? d.h. alle ihre Kinder sind direkte Kinder des Etiketts.

+0

Könnten Sie bitte die Fragen neu formulieren? –

+0

Erste Frage: Sie sehen und drin. Wie wird der obere Code serialisiert, so dass diese Tags nur eine sind? Zweite Frage: Tag repräsentiert AllItems-Klasse. Aber wie kann ich die AllItems-Klasse dazu bringen, keine Tags zu generieren? Ich möchte, dass es meine Tags enthält, aber keine generieren. Auf diese Weise werden und direkte Kinder von Tags sein. –

Antwort

1

Kurz gesagt: was Sie wollen, verstößt gegen RDF-Spezifikationen. Es sieht so aus, als würden Sie die Ausgabe als XML behandeln, aber Sie sollten nicht!

In RDF manipulieren Sie die Tripel und Sie sollten sich nie darum kümmern, wie es in XML serialisiert wird, weil RDF syntaxunabhängig ist und RDF/XML-Serialisierungsspezifikationen den gleichen Tripel-Satz auf unterschiedliche Weise darstellen können. Um es zu veranschaulichen, könnten Sie das RDF-Tool "A" auswählen, um ein RDF-Dokument zu erstellen. Sie wählen das RDF-Tool "B", laden dieses Dokument und speichern es unter einem neuen Namen ohne weitere Änderungen. Sie vergleichen die beiden Dateien und Sie werden die gleichen Tripel innerhalb finden, aber die zwei XML-Dateien können ganz anders aussehen! Sie können keine Tags kommen und gehen lassen, eigentlich sind Tags "nicht Ihre Sache" :).

Die Grundlinie ist, wenn Sie diktieren möchten, wie Ihre Ausgabe XML aussehen sollte, sollten Sie RDF vollständig vergessen und einfach alte XML-Tools verwenden, um die Arbeit zu erledigen.

Verwandte Themen