シルバー:エラーデシリアライズのXML
-
26-09-2019 - |
質問
私は、Silverlight 4アプリケーションを構築しています。私はXMLを読み取るためのXElementを使用しようとしています。次のコードは私のために仕事をしません。
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);
例外ではあります:
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}
私はここで間違っているのだろうか?
解決
あなたが使用する必要があります: -
XElement xml = XElement.Parse(data);
のXElementコンストラクタはコンストラクトに要素(またはimplictly XName
に変換される文字列)の単純な名前を定義するXName
を期待している。
所属していません StackOverflow