問題タブ [ixmlserializable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1221 参照

c# - XML シリアライゼーション、この場合は IXmlSerializable または Attributes

以前にいくつかの XML シリアライゼーションを行ったことがありますが、属性を使用しました。次の割り当てでこれが実行可能かどうかはわかりません。XML 操作要件の簡単なリストを次に示します。

  • ツリービューに関連付けられた汎用の XML 操作、スキーマなし。
  • XML のロード/保存。
  • 属性と値をロード/保存し (この用語は要素テキストだと思いますか?)、ノードの名前に注意してください。
  • コメントは、ドキュメント情報マークアップ (つまり、UTF-8 およびスキーマ タグ) と同様に安全に無視できます。

これを処理する最善の方法について何か提案はありますか?

0 投票する
2 に答える
1368 参照

c# - IXmlSerializable

IXmlSerializableを介した逆シリアル化に問題があるのを助けてくれませんか

そして、xml自体は次のようになります。

0 投票する
1 に答える
2776 参照

c# - 多くのネストされた要素を持つ xml ツリーを読み取る IXmlSerializable

次のようにxmlを読み書きする方法の例を教えてください:

0 投票する
1 に答える
1643 参照

c# - XmlAttributeOverridesのさらなるカスタマイズ

XmlAttributeOverridesは、シリアル化のためにいくつかの属性をオーバーライドするための良い方法です。MSDNによると:ソースにアクセスできない場合でも、DLLで見つかったオブジェクトのシリアル化を制御および拡張できます。

そして、XmlAttributeOverridesを使用してカスタムアルゴリズムを実装することは可能ですか?たとえば、シリアル化中に「その場で」要素の値を変更したい場合です。

もちろん、IXmlSerializableを使用することは可能ですが、それなしでそれを行う方法があるかどうか疑問に思っています。

0 投票する
4 に答える
3911 参照

c# - null許容型をシリアル化する正しい方法は何ですか?

クラスの 1 つで IXMLSerializable を実装しています。null 許容の数値プロパティがいくつか含まれています (int? double? など)。

IXMLSerializable を介してこれらをシリアル化/シリアル化する正しい方法は何ですか? これが私が今していることです。これは機能しますが、明らかに正しい方法ではないようです。

更新: IXmlSerializable を実装している理由について、少し背景を説明するように求められました。私は床のコレクションを表すクラスが必要な建築設計のプログラムに取り組んでいます。各フロアには、 Floor.Areaエリア、Floor.Heightなどのプロパティがあります。ただし、フロアの高さは、その下のフロアの高さの合計によって定義されます。したがって、Floor.Heightプロパティが変更されるか、FloorCollectionが変更されるたびに、フロアの高さが再計算されます。

シリアル化する必要がある FloorCollectionクラスは、BindingList から継承しています。このクラスを直接シリアル化しようとすると、フロアのコレクションがシリアル化されますが、クラスのプロパティやフィールドはシリアル化されません。これに関する私の以前の投稿を参照してください。

現在、コレクション内の建物の床の最大高さ、最大上部高さ、および最小下部高さを制限する機能を追加しようとしています。したがって、これらの制限を表すために nullable double を使用しています。null 値は無制限を意味します。標高プロパティは、正、負、またはゼロにすることができます。そのため、制限がない場合を識別する別の状態 null が必要です。

標高/高さの制限があるかどうかを識別する別のブール値と、それが有効な場合に制限が何であるかを識別する通常の double プロパティを持つ方が全体的に簡単かもしれないと考えています。

0 投票する
2 に答える
3996 参照

c# - C# : IXMLSerializable メンバーを持つ WCF サービスは DataSet に変わります

。ネット

私は Web サービスを持っています。メッセージのデータ メンバーの 1 つは IXmlSerializable を実装しています。「サービス参照の追加」を行うと、そのメンバーは DataSet になります。

Expression<TDelegate>シリアル化されたものをパラメーターとして Web サービスに渡そうとしています。

Q:クライアント側でインスタンスDataSetを作成するにはどうすればよいですか?IXmlSerializable

0 投票する
5 に答える
2163 参照

c# - あるタイプの一部のメンバーをXmlSerializerシリアル化から除外することは可能ですか?

シリアル化したくないパブリックメンバーがいますが、属性があるかどうか疑問に思っていましたか?

0 投票する
1 に答える
546 参照

.net - 有効な XmlSchema を持つ IXmlSerializable (XMLSchema:schema 要素が宣言されていません..)

IXmlSerializable を実装しようとしています。私のクラスはシリアライズ可能を実装し、単一の文字列を書き込みます。XsdDataContractExporter (標準のもの) を使用してオブジェクト グラフ スキーマをエクスポートできるようにしたいと考えています。

クラスは単純な xml にシリアル化されます。

XmlSchemaProvider 属性に対応する GetSchema の私の実装は次のとおりです。

スキーマを生成してエクスポートできる必要があります。

次のエラーが表示されます。

スキーマをエクスポートしようとすると。

0 投票する
1 に答える
381 参照

c# - ドメインオブジェクトはIXmlSerializableを実装する必要がありますか?

データをXMLとして公開するRESTAPIを構築しています。ドメインレイヤーには、APIの背後にあるサービスレイヤーと、顧客に提供するクライアントAPIの両方で使用することを目的としたドメインクラスがたくさんあります。(顧客はREST APIと直接対話するオプションがありますが、クライアントAPIは物事を単純化します)。ドメインクラスからデータ永続化ロジックを排除したいのですが、ドメインクラスがIXmlSerializableを実装して、公開および取得されるデータのシリアル化プロセスを簡素化できるかどうかを判断するのに苦労しています。 API。私は、ドメインクラスをシリアル化ロジックから解放し、代わりにシリアル化動作で装飾することを考え始めました。シリアル化を処理するオブジェクト内にドメインオブジェクトをラップします。私は物事を必要以上に複雑にしていますか?私がこれにどのように取り組むべきかについて何か考えはありますか?ありがとう!

0 投票する
2 に答える
8696 参照

.net - IXmlSerializable を使用したデータ コントラクト型の WSDL/XSD スキーマのエクスポート

Java アプリから使用したい WCF サービスを作成しています。しかし、問題は .net-java 相互運用性に関するものではありません。

ポイントは、サービス操作に関係する型の1つがIXmlSerializableであることです。その型は、XmlSchemaProviderAttribute によって参照される静的メソッドを使用して XSD スキーマを返します。問題は、mex-endpoint ( http://..svc?wsdl ) を介してサービスの wsdl を取得すると、そのスキーマが返されないことです。

詳細はこちら。

一部の wcf サービス コントラクト:

DomainData タイプは次のとおりです。

ご覧のとおり、DomainData には AuxDomainData オブジェクトのディクショナリが含まれています。

ここでは、GetXmlSerializationSchema メソッドで XSD スキーマを返しています。スキーマ自体は簡単ですが、ここでは割愛させてください。

そのコードは簡単だと思いますが、これは IXmlSerializable 型の一般的なシナリオです。

ここで、WSDL が必要です。Metroの助けを借りて WSDL を使用して Java クライアントを作成しますが 、実際には JDK 1.6 で十分です。WS スタック (および wsimport.exe) が含まれているからです。したがって、Java は wsdl:service 定義で wsdl を必要とします。そのため、wsdl.exe から wsdl を渡すことができません (wsdl によって生成された wsdl には wsdl:service 定義が含まれておらず、wsdl:portType のみが含まれているため)。そこで、wsimport.bat http://localhost/Service1.svc?wsdlを呼び出します。

しかし、私がレスポーズで得たものは次のとおりです。

これは、構成された wsdl には実際には AuxDomainData などの型が含まれていないためです。それは真実であり、java/metro/その他のスタックを非難することはできません。wcf によって生成された wsdl を見ると、すべての xsd スキーマをインポートする wsdl:types 要素が含まれています。

ここですべての xsd を提供することはしませんが、要点はそれらに AuxDomainData 定義がないことです。AuxDomainData タイプの xsd-schema はhttp://localhost/CustomSerialization/Service1.svc?xsd=xsd 4 "document" にあります。しかし、ご覧のとおり、ルート wsdl にはそれへの参照が含まれていません。それが問題です。結果の wsdl/xsd スキーマ セットは完全ではありません。

それで、私のオプションは何ですか?