2012-07-10 237 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