2015-01-13 6 views
0

설명. 비 직렬화 할 때 예외를 가져옵니다. 이유는 무엇이 잘못되었는지 나에게 아무도 도와 줄 수 없습니까? xml 파일에서 추출 할 데이터에 대한 클래스를 만들었습니다. 그러나 객체로 deserialixing 할 때 나는 exeption을 얻고 있습니다.XML 파일에서 비 직렬화 할 수 없습니다.

<?xml version="1.0" encoding="utf-8" ?> 
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
<env:Body> 
<n1:GetPlugStatusListResponse xmlns:n1="http://tempuri.org/SPSuiteWebService/StandService"> 
    <n1:GetPlugStatusListResponse xmlns:n2="http://tempuri.org/GetPlugStatusListResponse.xsd"> 
<n2:StoreList> 
<n2:Store> 
<n2:AreaType>13</n2:AreaType> 
<n2:AreaName>東京都</n2:AreaName> 
<n2:StoreCd>91110002</n2:StoreCd> 
</n2:Store>  
<n2:Store> 
</n2:Store> 
... 
</n2:StoreList> 




    public static List<Store> ParseStoreList(string fileName) 
     { 

      // Init 
      List<Store> listStoreList = new List<Store>(); 

       // Parse... 
       using (XmlReader xmlReader = XmlReader.Create(fileName)) 
       { 
        XmlSerializer EventSerializer = new XmlSerializer(typeof(Store)); 


        while (xmlReader.ReadToFollowing("n2:Store")) 
        { 
         Store storeObject = (Store)EventSerializer.Deserialize(xmlReader.ReadSubtree()); 
         listStoreList.Add(storeObject); 

        } 

        xmlReader.Close(); 
       } 




      // Return value 
      return listStoreList; 

     } 

    public static List<PlugListData> ParsePlugList(string fileName) 
    { 
     // Init 
     List<PlugListData> listPlugList = new List<PlugListData>(); 

     // Parse... 
     using (XmlReader xmlReader = XmlReader.Create(fileName)) 
     { 
      XmlSerializer EventSerializer = new XmlSerializer(typeof(Store)); 

      // Parse XML - "Event" nodes... 
      while (xmlReader.ReadToFollowing("n2:PlugStatus")) 
      { 
       PlugListData pluglistObject = (PlugListData)EventSerializer.Deserialize(xmlReader.ReadSubtree()); 
       listPlugList.Add(pluglistObject); 
      } 

      // Cleanup... 
      xmlReader.Close(); 
     } 

     // Return value 
     return listPlugList; 
    } 

enter image description here

+2

는 이제 XML을 표시해야합니다 다음과 같습니다. –

+1

XML 문서 - 9 행, 12 열에 오류가 있습니다. XML 형식을 손상시키는 것이 있습니다. –

+0

'XmlSerializer'는 실제로 ** 실제로 ** 자세한 오류 메시지를 제공합니다. 당신은'.InnerException'과'.InnerException.InnerException' 등을 볼 필요가있다 –

답변

0

는 당신이 시도 할 수있는

XmlSerializer deserializer = new XmlSerializer(typeof(Store));// create the serializer 
TextReader reader = new StreamReader("n2:Store"); //read your text 
object obj = deserializer.Deserialize(reader);// create object 

Store xmlData = (Store)obj;// access data from object