- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2005でのシリアライズについて)
VB2005でのシリアライズ方法と注意点
このQ&Aのポイント
- VB2005でシリアライズする際に注意すべき点や解決策についてまとめました。
- XMLデータを逆シリアライズしてDBに登録する方法や、要素の取得方法について詳しく解説します。
- ネームスペースを使ったタグ名の場合のクラスの定義方法や、シリアライズできない場合の対処法について教えます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
何度もすみません m(__)m #1の方法で CreatorInfo以下が取得できますが Idクラスの属性typeやtableIdに同じようにNamespaceパラメータをつけてしまうとXmlSerializerの初期化の段階でエラーになってしまうようです Idクラスの属性はうまく取得できないようです と言うか Namespaceのプレフィックスが付いた属性がうまくないのかも
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.2
訂正 Namespaceは名前つき引数なので := でないといけませんでした 先ほどはうまくいったんですが再度テストしてみるとどうもダメみたいです MmlHeaderの解析でコケちゃうみたいです m(__)m
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
Idに関しては Class Idの記述で <XmlText()> Public Id as String といった具合にすれば良いようです Namespaceに関しては Namespace適用するさいしょのエレメントの XmlElement属性に引数Namespaceを与えるといいようです 今回のケースなら Class MmlHeaderのCreatorInfoの属性を <XmlElemnt("CreatorInfo",Namespace="http://www.medxml.net/MML/SharedComponent/Common/1.0")> にした 別の変数を用意します たとえば CreatorInfo1()など といった具合です ただこの方法だと typeやtableIdが取得できませんでした Idは取得できましたけど
お礼
何度もアドバイスありがとうございます。 Namespaceパラメータなどがある場合は、シリアライズはできなさそうですね。 XmlNodeListで項目を解析しようと思います。 本当にありがとうございました。