簡體   English   中英

XML實體(EF5.0)

[英]Entity to XML (EF5.0)

我正在構建和XML文件表示和實體。 經過幾個小時,這似乎有效,但有更好的方法嗎?

var entityContents   =  (from p in context.people select p).ToListAsEnumerable();
var XmlString = CollectMemebersNameValue("people" , entityContents);

public static string CollectMemebersNameValue( string entityName,  IEnumerable entityQuery)
    {
        var xmlText = new StringBuilder();
        xmlText.AppendLine("<" + entityName + ">");
        foreach (var item in entityQuery)
        {
            xmlText.AppendLine("<Row>"); 
            foreach (var prop in item.GetType().GetProperties())
            {
                if ( ! prop.PropertyType.Name.Contains("ICollection"))
                {
                    var nname = prop.Name;
                    var nvalue = prop.GetValue(item, null);
                    xmlText.AppendLine("<" + nname +  ">" + nvalue + "</" + nname + ">");
                }

            }
        }
        xmlText.AppendLine("</" + entityName + ">");
        return xmlText.ToString();
    }

是的,您可以使用XmlSerializer ,例如

XmlSerializer xs = new XmlSerializer(typeof(YourObjectType));
MemoryStream ms = new MemoryStream();
xs.Serialize(ms, yourActualObject);
string sampleXml = Encoding.UTF8.GetString(ms.ToArray());

無論您是序列化您的實體還是實體視圖,它都以相同的方式工作。 只要確保無論你是序列化對象序列化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM