我正在尝试反序列化以下 XML:
<Test><string name="Name">Test name</string><string name="Description">Some fake description.</string></Test>
进入下一班。
[XmlRoot("Test")]
public class Test
{
[XmlElement("string")]
public string Name;
[XmlElement("string")]
public string Description;
}
使用我正在使用的代码。
var xml = @"<Test><string name=""Name"">Test name</string><string name=""Description"">Some fake description.</string></Test>";
XmlReader reader = new XmlTextReader(new StringReader(xml));
XmlSerializer serializer = new XmlSerializer(typeof(Test));
serializer.Deserialize(reader);
当我运行它时,我会收到带有消息的 InvalidOperationException
反映类型“测试”时出现错误。
如果我注释掉 Description 属性,它就可以工作。我可以获取属性值或文本,但不能只获取元素为字符串且“名称”属性具有特定值的 XmlText。
这甚至可能不使用 LINQ 吗?