2

我目前在从 Web 服务调用反序列化 XmlDocument 时遇到问题,这是我的代码:-


 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());
    }

现在,我遇到的问题是当我在调试中单步执行时 XmlNodeReader 只包含“{None}”,requestDoc 肯定具有预期的 XML 结构,有什么想法吗?

亲切的问候吉布

4

1 回答 1

2

“无”可能只是意味着它还没有开始迭代,并且在 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; }
}
于 2011-02-28T11:53:22.530 回答