Created
July 29, 2012 08:53
-
-
Save aturgarg/3196814 to your computer and use it in GitHub Desktop.
Linq XML ( object[] list)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
Program p = new Program(); | |
//Console.WriteLine(p.linqStringList()); | |
Console.WriteLine(p.linqObjectArrayList()); | |
Console.ReadLine(); | |
} | |
/// <summary> | |
/// Built XML using Linq ( from List of string ) | |
/// </summary> | |
/// <returns></returns> | |
protected string linqStringList() | |
{ | |
try | |
{ | |
List<string> lst = new List<string>(); | |
for (int i = 0; i < 10; i++) | |
{ | |
lst.Add((i + 1).ToString()); | |
} | |
XElement xe = new XElement("XMLs", | |
from str in lst | |
select (new XElement("Tag",str) | |
)); | |
return xe.ToString(); | |
} | |
catch | |
{ } | |
return ""; | |
} | |
/// <summary> | |
/// Built XML using Linq ( from List of object[] ) | |
/// </summary> | |
/// <returns></returns> | |
protected string linqObjectArrayList() | |
{ | |
List<object[]> lst = new List<object[]>(); | |
for (int i = 1; i < 11; i++) | |
{ | |
lst.Add(new object[] { (i ).ToString() + " ", (i + 10).ToString() + " ", (i + 20).ToString() + " " }); | |
} | |
//this work but has same tag names | |
/* | |
XElement xe = new XElement("XMLs", | |
from str in lst | |
select (new XElement("nodes", | |
from s in str | |
select ( new XElement("Tag", s))) | |
)); | |
* */ | |
XElement xe = new XElement("XMLs", | |
from str in lst | |
select (new XElement(XElemStrObject(str)) | |
)); | |
return xe.ToString(); | |
} | |
/// <summary> | |
/// To create string, to pass in XElement value | |
/// this cause problem in create xml tag | |
/// </summary> | |
/// <param name="objArr"></param> | |
/// <returns></returns> | |
private string XElemObject(object[] objArr) | |
{ | |
StringBuilder str = new StringBuilder(); | |
for (int i = 0; i < objArr.Length; i++) | |
{ | |
str.Append(new XElement("tag"+(i + 1).ToString(), objArr[i])); | |
} | |
return str.ToString(); | |
} | |
/// <summary> | |
/// create XElement, and ca give our own tag names | |
/// </summary> | |
/// <param name="objArr"></param> | |
/// <returns></returns> | |
private XElement XElemStrObject(object[] objArr) | |
{ | |
StringBuilder str = new StringBuilder(); | |
XElement xse = new XElement("node"); | |
for (int i = 0; i < objArr.Length; i++) | |
{ | |
XElement xeTemp = new XElement("tag" + (i + 1).ToString(), objArr[i]); | |
xse.Add(xeTemp); | |
} | |
return xse; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment