15

次のようなXMLファイルがあります。

<?xml version="1.0"?>
<catalog>
    <book id="1" date="2012-02-01">
        <title>XML Developer's Guide</title>
        <price>44.95</price>
        <description>
            An in-depth look at creating applications
            with XML.
        </description>
    </book>
    <book id="2" date="2013-10-16">
        <author>Mark Colsberg</author>
        <title>Dolor sit amet</title>
        <price>5.95</price>
        <description>Lorem ipsum</description>
    </book>
</catalog>

LINQ でアクセス データを使用するために C# クラスにすばやく変換するにはどうすればよいですか? XML ファイルの場合、手動でクラスを作成する必要がありますか? JSON形式はどうですか?

XSD が唯一の解決策ですか?

4

5 に答える 5

2

この簡単な手順に従うことができます

1.Please Add using System.Xml as a reference;
2.Make a class named book in this way



     public class book
            {
                public Nullable<System.DateTime> date{ get; set; }
                public decimal price { get; set; }
                public string title { get; set; }
                public string description { get; set; }
        }

    try
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load("Write down full path");
                    XmlNodeList dataNodes = xmlDoc.SelectNodes("/catalog");

                    foreach (XmlNode node in dataNodes)
                    {
                        book objbook = new book();
                     objbook.date=Convert.ToDateTime(node.Attributes["date"].Value);
                       objbook.title=node.SelectSingleNode("title").InnerText;
                   objbook.description=node.SelectSingleNode("description").InnerText;
objbook.price=Convert.ToDecimal(node.SelectSingleNode("price").InnerText);

                    }

                }
catch(Exception ex)
{
throw ex;
}
于 2016-12-14T11:47:23.267 に答える
0

フレームワーク ツールにあるXML スキーマ定義ツール を使用しxsd.exeて、スキーマをシリアライズ可能なクラスまたはデータセットに変換します。

xsd file.xsd {/classes | /dataset} [/element:element]
         [/language:language] [/namespace:namespace]
         [/outputdir:directory] [URI:uri]

例では、C# クラスは xsd ツールと同じディレクトリに生成されます。

xsd /c YourFile.xsd
于 2013-10-29T01:35:25.937 に答える