2011-02-28 4 views
2

나는 현재 여기에, 웹 서비스 호출에서 XmlDocument를 직렬화 복원하는 데 문제가 내 코드입니다있어이 : - XmlNodeReader는 "포함하지XmlNodeReader 반환 {없음}

지금

public void getTest(XmlDocument requestDoc) 
    { 
     XmlDocument results = new XmlDocument(); 
     XmlSerializer serial = new XmlSerializer(typeof(DataRequest)); 
     DataRequest req; 
     XmlNodeReader reader = new XmlNodeReader(requestDoc.DocumentElement); 
     req = (DataRequest)serial.Deserialize(reader); 
     response.write(req.toString()); 
    } 

, 나는 데 문제가된다 {None} "디버그 단계를 거치면 requestDoc은 예상되는 XML 구조, 아이디어를 가지고 있습니까?

종류는 수코양이

+0

당신이'Linq를 대신'XmlDocument' – Stecya

+0

불행히도 나는 사양에 workign 해요 및 매개 변수 – gibb3h

답변

1

에게 "없음"아마 아직 반복하는 시작되지 않았 음을 의미 간주하지 않으며, (더 좋은 용어의 결핍) BOF에 있습니다. 여전히 작동해야합니다. 일반적으로 네임 스페이스가 올바르지 않다는 것을 의미하지 않는 경우 소스의 xmlns을 다시 확인하십시오.

이 예를 들어, 잘 작동 :

public class Test 
{ 
    static void Main() 
    { 
     var doc = new XmlDocument(); 
     doc.LoadXml(@"<Test foo=""bar""></Test>"); 
     var ser = new XmlSerializer(typeof(Test)); 
     using (var reader = new XmlNodeReader(doc.DocumentElement)) 
     { 
      var test = (Test)ser.Deserialize(reader); 
      Console.WriteLine(test.Foo); 
     } 

    } 
    [XmlAttribute("foo")] 
    public string Foo { get; set; } 
} 
+0

그래로 XmlDocument를 동의해야합니다 XML'을 사용하는 것을 고려나요, 네임 스페이스 문제 인 것 같아서 고마워! :디 – gibb3h