1
我已經查看了同一個問題的其他幾個問題,但一直未能解決我的問題。我有類,代碼和XML如下。但是,在Deserialize調用之後,我的類型變量包含一個包含TestElement但TestElement爲null的TestList數組。感謝任何幫助。謝謝。反序列化XML元素返回null 3
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
namespace TestXMLSerialization
{
class Program
{
static void Main(string[] args) {
XmlSerializer ser = new XmlSerializer(typeof(TestRootElement));
string xmlString = "<?xml version=\"1.0\" ?><TestRootElement><TestList><TestItem><TestElement>Test Data</TestElement></TestItem></TestList></TestRootElement>";
TestRootElement type = (TestRootElement)ser.Deserialize(new StringReader(xmlString));
Console.WriteLine(type.TestList[0].TestElement);
}
}
[Serializable()]
[System.Xml.Serialization.XmlRoot("TestRootElement")]
public class TestRootElement
{
[System.Xml.Serialization.XmlElement("TestList")]
public List<TestItem> TestList { get; set; }
}
[Serializable()]
[System.Xml.Serialization.XmlType("TestItem")]
public class TestItem
{
[System.Xml.Serialization.XmlElement("TestElement")]
public string TestElement { get; set; }
}
}
您有太多'XmlRoot'屬性 - 文檔具有**一個**根,在本例中爲'TestRootElement'。 – Oded
謝謝@Oded。但是,這似乎不是問題。我已經更正了使用XmlType的代碼,但仍然爲TestElement獲得了空值。 – oldegreyg