2009-01-01から1年間の記事一覧

アトリビュートを指定してXMLのシリアライズに対応したクラスを作成する。配列(List)を出力する場合。(XmlArrayAttribute、 XmlArrayItemAttribute)

C#

配列をXMLシリアライズを使用して出力する場合は次の専用のアトリビュートを指定します。・[System.Xml.Serialization.XmlArrayAttribute("Members")] ・[System.Xml.Serialization.XmlArrayItemAttribute("Member")]この2つのアトリビュートはペアで指定し…

アトリビュートを指定してXMLのシリアライズに対応したクラスを作成する。(XmlRootAttribute, XmlAttributeAttribute, XmlElementAttribute)

C#

XMLでシリアライズ可能なクラスを定義する場合は、クラスとメンバにそれぞれXMLのタグを示すアトリビュートを設定します。以下の3つのアトリビュートが基本となります。■ [System.Xml.Serialization.XmlRootAttribute("Company")] XMLのルートノードに対応…

xsd (XML Schema Definition Language)によって、XMLを検証する(Validate)

C#

XSD(XML Schema Definition Language)はXMLの構造を定義したファイルで、XSDを使用してXMLの構造が正しいかどうか検証することが出来ます。 これには、XmlReader、XmlReaderSettings、XmlSchemaSetクラスを利用します。name要素とjob要素が必ず1つ必要なXSD…

xmlSerializeによるXML出力時にencoding属性を付与する

C#

xmlSerializerを使用してシリアライズ(serialize)する際にFileStreamを使用して出力すると、下記のようなEncoding属性が付与されません。 xml version="1.0" encoding="utf-8" Encoding属性を指定するにはStreamWriterを使用して設定したいEncodingを使用す…

xmlSerializerによるXML出力時にnamespaceを付与しない

C#

xmlSerializerを使用してシリアライズ(serialize)すると、以下のようにxmlns:xsiやxmlns:xsdといった名前空間が出力されます。 ですが、このような名前空間は不要ということもあると思います。 その場合は、シリアライズ(serialize)時に空の名前空間オブジェ…

xsdによるクラスの自動生成

C#

Visual studio に付属しているxsdツールは、xmlからxsd (xml schema)、xsdからc#,vb.netのクラスを自動生成することができます。 xmlファイルを読み込もうとしている場合、xsdやC#,vb.Netのクラスを手書きするのではなく、xsdツールを使って生成すると便利で…

xmlSerializerによるXMLの読み書き

C#

xmlの読み書きにはXMLSerializerを使用します。シリアライズとは永続化の意味で、ヒープメモリ上に存在するオブジェクトをファイルやデータベースなどに保存する事を意味します。また、保存したデータからヒープメモリ上にオブジェクトを生成することをデシ…