問題タブ [linq-to-xsd]
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.
asp.net-mvc-2 - XML ファイルからビジネス オブジェクトにデータを取得する方法
MVC 2 アプリケーションで、ユーザーが XML ファイルをアップロードできるようにするビューを作成する必要があります。XML ファイルは XSD に準拠します。XML を解析してデータを抽出し、Web サービスに送信される C# オブジェクトを設定する必要があります。
私の質問は...私はXMLファイルの正確な「フォーマット」を知っているので、XSDのために、XMLファイルのデータをビジネスオブジェクトに「移動」する簡単な方法はありますか?
Linq-to-XSD プロジェクトについて読みましたが、放棄されたようです。Linq-to-XML はあまり役に立ちません。すべてのデータを取得するには XML ドキュメント全体を「ウォークスルー」する必要があるからです。
きっともっと簡単な方法がありますか?
c# - linq を使用して xml をクエリする
linq を使用して xml からいくつかの情報を照会しようとしていますが、このようなエラーが発生しています - はい、定義しました - System.Linq を使用して、どこに問題があるのか教えていただけますか? ありがとう
エラー 1 ソース タイプ 'urn.P.IEEE.Item1671.Item2.Item2008.Item02.InstrumentDescription.InstrumentDescription' のクエリ パターンの実装が見つかりませんでした。「選択」が見つかりません。D:\Documents and Settings\e539951\my documents\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 36 WindowsFormsApplication1
c# - 複数の名前空間と部分クラス間でのコードの複製
LinqToXSDを使用して、クライアントのXSDに基づいてドキュメントモデル(コード)を生成しています。これらのXSDは、ドキュメントモデルを生成するたびに共通の構造を共有するため、一部のオブジェクトが複製されます。コンパイルの問題を防ぐために、各ドキュメントモデルを独自の名前空間に配置しました。これはうまくいきました。
しかし、ここで、パブリック部分クラスであるこれらのオブジェクトを使用して、カスタム検証を実行したいと思います。そこでIValidate
、単一のValidate()
メソッドでインターフェースを定義しました。これで、複数のオブジェクトモデルで生成された低レベルのオブジェクトがありますが、それぞれが異なる名前空間にあります。
次に、すべてのfooクラスにIValidate
インターフェイスとメソッドを追加する単一の部分クラスファイルを作成します。Validate()
ただし、実際には異なるオブジェクトであるため、もちろんこれは機能しません。生成されたコードとコードの生成に使用されたXSDライブラリのために、これらがたくさんあります。
内部をシャドウすることができれば(上記の「......」を読んでください)、これは機能します。私は異なる名前空間に多くのfooを持っています(そして私はそれぞれ同じ問題を持つfoo1からfoo100を持っています)。私はコードを複製する必要があります、私はそれがノーノーであることを知っています、そして私はそれをする必要はありません。しかし、そうする場合、少なくとも同じコードのコピーをそれほど多く維持する必要はありません。
これはダイナミクスで実行できるとかなり確信していますが、そこに行く必要はありません。
誰かがこれらの検証メソッドを記述し、各namespace.classの部分クラスに手動でコピーする必要がない他の方法を提案できますか?
c# - カスタム WSDL と参照スキーマを使用すると、SOAP メソッドから返される Xml がオブジェクトから正しくシリアル化されないのはなぜですか?
この記事を読んだ後:
XML メッセージ設計による Web サービスの相互運用性の向上
既存のメッセージ設計スキーマを新しい SOAP サービスの WSDL にインポートしてみることにしました。
これはすべて VS2008 と .NET 3.5 であり、Altova XMLSpy 2009 はスキーマと wsdl の設計に使用されました。
だから私は次のことをしました:
- カスタム WSDL を作成し、XSD インターフェイス仕様をインポートします。
- WSDL.EXE を使用してサーバー スタブ コードを生成する
- XSD を Web サービス プロジェクトに含める
- Linq To Xsdを使用して、使用する厳密に型指定された XDocument ラッパーを生成します
- 生成されたスタブ コードを手動で編集して、冗長な自動生成されたラッパー クラスを削除します。
- スタブ コードを手動で編集して、WSDL の型を Linq2Xsd で生成されたラッパーにマップします。
- WSDL 生成を無効にし、カスタム WSDL を明示的に参照します。
WebServiceBindingAttribute
- 通常の Web 参照を使用して Win フォーム テスト リグを作成する
OK、問題は次のとおりです。
SOAP リクエストは完全に機能し、パラメーターのシリアライゼーションとデシリアライゼーションは機能します。問題の SOAP 応答、シリアライゼーションが不適切な形式の Xml を作成しており、クライアント デ シリアライゼーションが機能していません。
SOAP 応答は次のとおりです。
ネストされたGetCameraLocationsTableResponse
要素に注意してください。これは間違っています。XDocument ラッパーが内部を作成しGetCameraLocationsTableResponse
、SOAP メッセージ ジェネレーターの内部動作の何かが外部を追加するGetCameraLocationsTableResponse
ことを確認しました。
クライアントのプロキシ コードは正しくシリアル化されますが、サーバーのプロキシ コードは正しくシリアル化されません。もちろん、これは私がいじったサーバー コードです。
Blah
名前は罪のない人を保護するために変更されました。
参考までに、編集したサーバー側のプロキシ コードを次に示します。
上記をWebサービスとして実装するために書いたコードは次のとおりです。
ここから system.diagnostics スイッチを使用して、自動生成されたシリアル化コードを抽出することができました。
カスタム WSDL は次のとおりです。
読んでくれてありがとう、
ジェームズ。
asp.net-mvc-3 - C#.Net で XSD ファイルを使用して XML を構築する方法
こんにちは、使用する必要がある必須フィールドを説明する XSD ファイルがあります。
その XSD スキーマを使用して、ビルドして XML 要求を作成し、サード パーティのサービス プロバイダーにルーティングする必要があります。XML 要求が検証されると、システム (サード パーティ) が応答を返し、再びその XML 応答を読み取って残りを行う必要があります。ロジック実装の。
この XSD を使用して XML の構築をどこから始めればよいかわかりません
XSDを使用してXMLを構築するために使用できる適切な場所を教えてください。または、ある種の例を提供してください。
ここに私のXSDの一部があります
<xs:element name="RxHistoryRequest">
I have to Build XML を使用して、
<xs:element name="RxHistoryResponse">
I have to Read the response を使用して
このたびはご協力いただきありがとうございました。
c# - キャストせずにXmlから値を保存して取得する方法は?
私が本当に嫌いなのは、Xmlファイルから各要素または属性値をキャストすることです。
この瞬間、私は何百ものモジュールで、オブジェクトをXmlFileに変換する方法を指定するメソッドを作成しています。信じて、これはとても疲れています。だから私は別の方法で考えています。
私はXSDについて調査していましたが、これが私の救いになるかどうかはわかりません。値を保存して取得するためにLinqtoXmlを使用しています。つまり、私のオブジェクトは次のように構成されています。
ご覧のとおり、多くのノードがあります。これを行う別の方法はありますか?つまり、強くタイプします。
c# - クラスからXSDスキーマを作成するにはどうすればよいですか?
XSDファイルで苦労しています。
クラスからXSDファイルを作成しようとしています。
Configuration内に抽象クラスがあることに注意してください。その機能を使用して、XSDを作成することは可能ですか?可能であればどのように作成できますか?
アイデアは、クラスConfigurationをXSDに渡すことです。
c# - LinqToXSDを使用して、キャストせずにxmlでオブジェクトを取得する方法は?
このテクノロジーを使用して、XML ファイルをデータベースとして管理しています。これを行うとき、通常はライブラリにクラスを作成し、XSD.exe を使用して XSD を取得できます。
次に、LinqToXSD と生成された新しい XSD を使用して、データにアクセスできます。これは、私のプログラムに含める必要がある最初のクラスです。
データにアクセスするために、この名前空間を使用しました
そして、これらは 2 つの異なるクラスであることに気付きました。つまり、このクラス (XSD の urn.foo) を実際の Foo (最初のクラス) に変換する必要があるということです。だから、私は2つの異なるクラスを持っています.1つだけにしたいです!
c# - コードを変更せずに XML スキーマの変更を処理する
現在、XML スキーマがあり、コードは xml ファイルを読み取り、スキーマに対して検証してデータベースに保存します。将来、スキーマが変更される可能性があります。新しいスキーマ用にコードを書き直す必要なく、コードでそれらを処理するにはどうすればよいでしょうか。
ありがとう、
例を挙げましょう
XPath マッピング構成
これで、C# コードは id、name、および desc を読み取り、マッピング構成に基づいて挿入ステートメントを生成します
スキーマが変更され、価格などの新しい要素が追加された場合、その価格をマッピングに追加するため、生成される新しい挿入ステートメントには価格が含まれます。
これは機能しますか?