XML 文檔(0, 0)中有錯誤。缺少根元素。


 
         

 

function T Validate(string str){

using (MemoryStream ms = new MemoryStream())
{
foreach (byte _byte in Encoding.Default.GetBytes(str))
{
ms.WriteByte(_byte);
}

result = (T)new XmlSerializer(typeof(T)).Deserialize(ms);
ms.Close();
}

}


未處理 System.InvalidOperationException Message
="XML 文檔(0, 0)中有錯誤。" Source="System.Xml" StackTrace: 在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 在 System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream) 在 NFLicense.Class1.Load[T](FileInfo file) 位置 E:\hy\WWW\abc\test.cs:行號 131 在 NFLicense.Class1.Load(String fileName) 位置 E:\hy\WWW\abc\test.cs:行號 209 在 NFLicense.Class1.Validate(String linesepath, String pubkey, String productname, String username) 位置 E:\hy\WWW\NFCRM\abc\test.cs:行號 217 在 NFCRM.Program.Main(String[] args) 位置 E:\hy\WWW\NFCRM\abc\Program.cs:行號 22 在 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading.ThreadHelper.ThreadStart() InnerException: System.Xml.XmlException Message="缺少根元素。" Source="System.Xml" LineNumber=0 LinePosition=0 SourceUri="" StackTrace: 在 System.Xml.XmlTextReaderImpl.Throw(Exception e) 在 System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res) 在 System.Xml.XmlTextReaderImpl.ParseDocumentContent() 在 System.Xml.XmlTextReaderImpl.Read() 在 System.Xml.XmlTextReader.Read() 在 System.Xml.XmlReader.MoveToContent() 在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderLicense.Read3_License() InnerException:

 

 

解決辦法:

在序列化之前加:

ms.Position = 0;

function T Validate(string str){

using (MemoryStream ms = new MemoryStream())
{
foreach (byte _byte in Encoding.Default.GetBytes(str))
{
ms.WriteByte(_byte);
}

result = (T)new XmlSerializer(typeof(T)).Deserialize(ms);
ms.Close();
}

}

 

解決辦法來源:http://www.cnblogs.com/nikytwo/archive/2009/03/27/1423032.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM