1
我想創建一個帶有嵌套對象的嵌套元素的XML文檔,但該XML文件出來太平。我如何得到這個迭代對象內的對象以在元素內創建元素。如何從嵌套對象創建XML文檔?
public object traverse(object pc, string xpath, XmlDocument xmldoc)
{
IEnumerable enumerable = pc as IEnumerable;
if (enumerable != null)
{
foreach (object element in enumerable)
{
RecurseObject ro = new RecurseObject();
ro.traverse(elementArray, xpath, xmldoc);
}
}
else
{
Type arrtype = pc.GetType();
string elementname = arrtype.Name;
foreach (var prop in pc.GetType().GetProperties())
{
XmlElement xmlfolder = null;
XmlNode xmlnode3 = null;
string propname = prop.Name;
string propvalue = "null";
if (xmldoc.SelectSingleNode(xpath + "/" + elementname) == null)
{
xmlnode3 = xmldoc.SelectSingleNode(xpath);
xmlfolder = xmldoc.CreateElement(null, elementname, null);
xmlnode3.AppendChild(xmlfolder);
}
if (prop.GetValue(pc, null) != null)
{
propvalue = prop.GetValue(pc, null).ToString();
}
xmlnode3 = xmldoc.SelectSingleNode(xpath + "/" + elementname);
xmlfolder = xmldoc.CreateElement(null, propname, null);
xmlfolder.InnerText = propvalue;
xmlnode3.AppendChild(xmlfolder);
}
}
return null;
}
** a)**你的複雜對象是怎麼樣的** b)**你想在最後得到什麼樣的xml ** c)**你有沒有讀過關於xml序列化的任何內容? – I4V
即使在格式化代碼之後,您仍然不清楚您到底想要達到什麼目的。添加輸入數據和期望輸出的示例。 –
I4V是對的。您可以通過序列化從對象自動生成XML – jugg1es