2012-07-10 190 views
0

我正在做xml字符串反序列化到类中。但它没有发生。这里是我的示例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,但都没有成功。

+0

您的最终标记需要正确格式化:'' – 2012-07-10 14:53:50

回答

0

您的交易类看起来错了:我想你所指的领域是public tag1 tag1;

你打错属性装饰你的tag1类定义中的子标签领域。它是一个元素,而不是XML中的一个属性。

您还需要先从格式良好的XML:你的平仓交易标记缺少/

+0

我错过了结束标记在这里。在我的代码中是正确的。此外,我试着作为XMlElement的子标签,但结果没有改变。还是同样的问题。 谢谢。 – user1504204 2012-07-10 15:04:25

+0

您正在使用哪种语言/序列化系统。我猜想.NET&C#(修复你所有的错误),并且只要你使用XmlElement来实现子标记,所有东西都可以工作。 – 2012-07-10 15:21:31