0

C# で XML を解析する最善の方法は、XmlDocument クラスを使用して次のようにすることだと誰もが言っていることは知っています。

XmlNodeList list = xmlDoc.getElementsByTagName('tag');

ただし、JavaScriptが XML と JSON をカプセル化する方法が気に入っています。ここでは、XML または JSON ドキュメント内のカプセル化のすべてのレベルに「.」を使用してアクセスできます。すなわち:

test.xml

<item>
 <title>Title</title>
 <desc>
    <meta>MetaData</meta>
    <content>Ipsum Lorem</content>
 </desc>
 <date>1/1/2013</date>
</item>

javasript では、この XML ファイルを解析して、オブジェクト var obj に割り当てることができました。次に、次のようなことができます。

obj.item[0].title ( 'Title' )
obj.item[0].desc.meta ('MetaData')

XML をこのようなものに解析できる C# ライブラリはありますか、それとも別の方法で行う必要がありますか?

4

3 に答える 3

1

まったく同じではありませんが、この種のアプローチ (XML を動的オブジェクトに読み込む) は精神的に似ています。

http://www.codeproject.com/Articles/436406/Power-of-Dynamic-Reading-XML-and-CSV-files-made-ea

于 2013-02-13T18:35:57.477 に答える
0

また、Visual Studio のインストールに含まれているはずのツール (xsd.exe) を確認することもできます。具体的には、/classes スイッチを見てください。探しているものとはまったく異なりますが、同様の構文が得られます。

于 2013-02-13T18:40:37.377 に答える
0

C# と の動的な側面に分岐したい場合ExpandoObjectは、@amazedsaint による非常に巧妙なライブラリがあります。

例:

dynamic item = new ElasticObject("item");
item.Title = "Title";
item.Desc = new { Meta = "Metadata", Content="Lorem Ipsum" };
XElement asXml = item > FormatType.Xml;

// and from xml:
dynamic itemFromXml = asXml.ToElastic();
于 2013-02-13T18:55:07.290 に答える