Silverlight:反序列化XML时出错

Silverlight:反序列化XML时出错,xml,silverlight,deserialization,Xml,Silverlight,Deserialization,我正在构建Silverlight 4应用程序。我正在尝试使用XElement来读取XML。以下代码不适用于我: string data = @"<?xml version='1.0'> <Data> <TopicGroups> <TopicGroup>

我正在构建Silverlight 4应用程序。我正在尝试使用XElement来读取XML。以下代码不适用于我:

        string data = @"<?xml version='1.0'>
                        <Data>
                          <TopicGroups>
                            <TopicGroup>
                              <Name>Documents</Name>
                              <Id>0</Id>
                            </TopicGroup>
                          </TopicGroups>
                          <Topics>
                            <Topic>
                              <Name>Foo stuff</Name>
                              <Id>1</Id>
                              <GroupId>0</GroupId>
                            </Topic>
                          </Topics>
                          <PlumFiles>
                            <PlumFile>
                              <Name>moons</Name>
                              <Body>we're going to the moon</Body>
                              <TypeExtension>docx</TypeExtension>
                              <Author>Frodo</Author>
                              <CreatedOn>2010-11-18T00:00:00-05:00</CreatedOn>
                            </PlumFile>
                          </PlumFiles>
                        </Data>";

        // crash here
        XElement xml = new XElement(data);
字符串数据=@”
文件
0
食物
1.
0
月亮
我们要去月球
docx
佛罗多
2010-11-18T00:00:00-05:00
";
//在这里撞车
XElement xml=新的XElement(数据);
例外情况是:

System.Xml.XmlException: Name cannot begin with the '<' character, hexadecimal value 0x3C.

   at System.Xml.XmlConvert.VerifyNCName(String name, ExceptionType exceptionType)
   at System.Xml.XmlConvert.VerifyNCName(String name)
   at System.Xml.Linq.XName..ctor(XNamespace ns, String localName)
   at System.Xml.Linq.XNamespace.GetName(String localName, Int32 index, Int32 count)
   at System.Xml.Linq.XNamespace.GetName(String localName)
   at System.Xml.Linq.XName.Get(String expandedName)
   at System.Xml.Linq.XName.op_Implicit(String expandedName)
   at PlumPudding.MainPage.MainPage_Loaded(Object sender, RoutedEventArgs e)
   at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)} System.Exception {System.Xml.XmlException}
System.Xml.XmlException:名称不能以“开头,您应该使用:-

XElement xml = XElement.Parse(data);
XElement构造函数需要一个
XName
来定义要构造的元素的简单名称(或将隐式转换为
XName
的字符串)。您应该使用:-

XElement xml = XElement.Parse(data);
XElement构造函数需要一个
XName
来定义要构造的元素的简单名称(或将隐式转换为
XName
的字符串)