タグ付けされた質問 「xml-serialization」

このタグは、XMLをデータ形式として使用するシリアル化テクノロジを示します。

5
セッターのないプロパティがシリアル化されないのはなぜですか
シリアル化可能なクラスがあり、クラスのプロパティの1つがGuidゲッターでを生成します。このプロパティはセッターを実装せず、シリアル化中は無視されます。それはなぜですか?プロパティをシリアル化するために、常にセッターを実装する必要があります。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } } } 空のセッターを実装してみたところ、正しくシリアライズされました。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } set {} } } 更新: 値が決して変化しないプロパティ、または値が内部で生成されるプロパティをどのように定義すればよいか指摘できますか?

6
XMLシリアル化のためのStringWriterの使用
現在、オブジェクトをシリアル化する簡単な方法を探しています(C#3)。 私はいくつかの例をググって、次のようなものを思いつきました: MemoryStream memoryStream = new MemoryStream ( ); XmlSerializer xs = new XmlSerializer ( typeof ( MyObject) ); XmlTextWriter xmlTextWriter = new XmlTextWriter ( memoryStream, Encoding.UTF8 ); xs.Serialize ( xmlTextWriter, myObject); string result = Encoding.UTF8.GetString(memoryStream .ToArray()); この質問を読んだ後、私は自分自身に質問しましたが、なぜStringWriterを使用しないのですか?はるかに簡単なようです。 XmlSerializer ser = new XmlSerializer(typeof(MyObject)); StringWriter writer = new StringWriter(); ser.Serialize(writer, myObject); …


11
オブジェクトがC#の数値であるかどうかの確認
オブジェクトが数値であるかどうかを確認したいので、.ToString()数字とを含む文字列になります+。-、. .netのような単純な型チェックで可能if (p is Number)ですか(例:)? または、文字列に変換してから、解析してdoubleにしてみますか? 更新:オブジェクトがint、uint、float、doubleなどであることを明確にするために、それは文字列ではありません。次のように、オブジェクトをxmlにシリアル化する関数を作成しようとしています。 <string>content</string> または <numeric>123.3</numeric> または例外を発生させます。


7
XMLシリアル化と継承されたタイプ
前の質問に続いて、オブジェクトモデルをXMLにシリアル化する作業を行っています。しかし、私は今問題に遭遇しました(クエルサプライズ!)。 私が抱えている問題は、抽象基本クラス型のコレクションがあり、具体的な派生型が入力されていることです。 関係するすべてのクラスにXML属性を追加するだけで十分であり、すべてが桃色になると思いました。悲しいことに、そうではありません! だから私はグーグルでいくつかの掘り下げをしました、そして今私はそれがうまくいかない理由を理解しました。その中で実際にあるが、シリアライズするためにいくつかの巧妙な反射をやってXMLから/に反対し、その抽象型に基づいているので、それがに話して何地獄を把握することはできません。結構です。XmlSerializer 私はCodeProjectでこのページに出くわしましたが、それは大いに役立つかもしれません(まだ完全に読んだり消費したりする)が、この問題をStackOverflowテーブルにも持ってきて、きちんとしたものがあるかどうかを確認したいと思いましたこれを可能な限り迅速/最軽量の方法で稼働させるためのハック/トリック。 私が付け加えなければならないことの一つは、私がルートを下りたくないということXmlIncludeです。単にそれとの結合が多すぎて、システムのこの領域は開発が進んでいるので、それは本当にメンテナンスの頭痛の種になるでしょう!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.