0

クラスにデシリアライズするxml文字列を実行しています。しかし、それは起こっていません。ここに私のサンプルxmlがあります:

<Transaction>
    <tag1 val1="1" val2="2">
        <subtag>somestring</subtag>
    </tag1>
<Transaction>

私はこのようなクラスを作成しました:

[Serialzable]
Class Transaction
{
    [xmlElement]
    public string tag1;
}

[Serialzable]
Class tag1
{
    [xmlAttribute]
    public string val1;
    [xmlAttribute]
    public string val2;

    [xmlAttribute]
    public string subtag;

}

逆シリアル化すると、サブタグ値を除くすべてが正しく機能します。オブジェクトにnullが来ています。XMLElement と XMLAttribute の両方を作成しようとしましたが、成功しませんでした。

4

1 に答える 1

0

あなたのトランザクションクラスは間違っているようです:私はあなたがフィールドを意味していると思いますpublic tag1 tag1;

tag1クラス定義のサブタグ フィールドを装飾する属性が間違っています。これは要素であり、XML の属性ではありません。

また、整形式の XML から始める必要があります。トランザクションの終了タグに/

于 2012-07-10T14:57:23.827 に答える