質問

私はこのコードを持っています:

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

このようにして作成されます:

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

ここでは、結果の一部です。

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

最初の質問は:どのように私は作り、単一のタグ可能性があります。

2番目の質問:どのように私は、タグが表示されていない作ることができますが、唯一その内容?すなわち、そのすべての子がタグの直接の子であることを。

役に立ちましたか?

解決

要するに:あなたはRDFの仕様に違反して欲しいもの。あなたがXMLとして出力を扱うたいように見えますが、あなたはいけません!

は、RDFでは、トリプルを操作し、RDF構文独立しており、RDF / XMLシリアル化スペックはトリプルの同じセット、さまざまな方法を表現することができますので、あなたは今まで、それはXMLにシリアライズする方法を気にすることはありません。それを説明するために、あなたはRDFツール「」RDFドキュメントを作成を選ぶかもしれません。あなたは、「B」RDFツールを選んで、その文書をロードし、そのまま再び新しい名前で保存します。あなたは、2つのファイルを比較し、あなたは内部の同じトリプルを見つけるでしょうが、2つのXMLファイルには、かなり違って見えるかもしれません!あなたが実際にタグが「あなたのビジネスではない」が、タグが来る作って行くことはできません:)。

bottomlineはあなたの出力XMLがどのように見えるべきかを指示したい場合は、あなただけの完全にRDFを忘れて、ちょうど仕事を得る行うには、昔ながらのXMLツールを使用する必要があり、です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top