XML反序列化

时间:2012-07-10 14:48:52

标签: xml xml-serialization

我正在对类进行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;

}

现在当我反序列化时,一切正常,除了子标签值。它变成了对象。我试图使它成为XMLElement和XMLAttribute但都没有成功。

1 个答案:

答案 0 :(得分:0)

您的交易类看起来错误:我认为您的字段为public tag1 tag1;

您的tag1类定义中的子标签字段具有错误的属性。它是一个元素,而不是XML中的属性。

您还需要从结构良好的XML开始:关闭的Transaction标记缺少/