如果你想解决问题,这里有一个很大的问题:D
首先,它不是关于序列化,好吗?
好吧,我的情况......我正在编写一个函数,我将作为参数传递给Xml(XmlDocument)和一个对象(Object)作为参考.它将返回一个填充了Xml(XmlDocument)值的对象(被引用的对象).
例如:
我有一个Xml像:
<user>
<id>1</id>
<name>Daniel</name>
</user>
Run Code Online (Sandbox Code Playgroud)
我也有我的功能
public Object transformXmlToObject (XmlDocument xml, Object ref)
{
// Scroll each parameters in Xml and fill the object(ref) using reflection.
return ref;
}
Run Code Online (Sandbox Code Playgroud)
我该如何使用它?
我会用这样的:
[WebMethod]
public XmlDocument RecebeLoteRPS(XmlDocument xml)
{
// class user receive the object converted from the function
User user = new User();
user = transformXmlToObject(xml, user);
// object filled
}
Run Code Online (Sandbox Code Playgroud)
我需要帮助的人.
最好的问候,丹
这应该做你想要的.
using System.Xml;
using System.Reflection;
using System.ComponentModel.DataAnnotations;
using System.Collections;
namespace MyProject.Helpers
{
public class XMLHelper
{
public static void HydrateXMLtoObject(object myObject, XmlNode node)
{
if (node == null)
{
return;
}
PropertyInfo propertyInfo;
IEnumerator list = node.GetEnumerator();
XmlNode tempNode;
while (list.MoveNext())
{
tempNode = (XmlNode)list.Current;
propertyInfo = myObject.GetType().GetProperty(tempNode.Name);
if (propertyInfo != null) {
setProperty(myObject,propertyInfo, tempNode.InnerText);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)