我目前在从 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 结构,有什么想法吗?
亲切的问候Gib
“无”可能只是意味着它还没有开始迭代,并且在 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; }
}
我是一名优秀的程序员,十分优秀!