Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // modified AccessSpreadsheet Method
- void AccessSpreadsheet(SpreadsheetFeed feed)
- {
- string name = _SpreadsheetName;
- SpreadsheetEntry spreadsheet = null;
- foreach (AtomEntry sf in feed.Entries)
- {
- if (sf.Title.Text == name)
- {
- spreadsheet = (SpreadsheetEntry)sf;
- }
- }
- if (spreadsheet == null)
- {
- Debug.Log("There is no such spreadsheet with such title in your docs.");
- return;
- }
- // Get the first worksheet of the first spreadsheet.
- WorksheetFeed wsFeed = spreadsheet.Worksheets;
- WorksheetEntry worksheet = (WorksheetEntry)wsFeed.Entries[0];
- // Define the URL to request the list feed of the worksheet.
- AtomLink listFeedLink = worksheet.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);
- // Fetch the list feed of the worksheet.
- ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());
- ListFeed listFeed = service.Query(listQuery);
- //create list to add dynamic data
- List<TestEntity> testEntities = new List<TestEntity>();
- foreach (ListEntry row in listFeed.Entries)
- {
- TestEntity entity = new TestEntity();
- entity.name = row.Elements[0].Value;
- entity.number = int.Parse(row.Elements[1].Value); //use Parse method to get int value
- Debug.Log("Element: " + entity.name + ", " + entity.number.ToString());
- testEntities.Add(entity);
- }
- TestContainer container = new TestContainer(testEntities.ToArray());
- container.Save("test.xml");
- }
- // classes for xml serialization
- public class TestEntity {
- public string name;
- public int number;
- public TestEntity(){
- name = "default";
- number = 0;
- }
- }
- [XmlRoot("TestCollection")]
- public class TestContainer {
- [XmlArray("TestEntities")]
- [XmlArrayItem("testEntity")]
- public TestEntity[] testEntities;// = new skinEntity[];
- public TestContainer(){
- }
- public TestContainer(TestEntity[] arch){
- testEntities = arch;
- }
- public void Save(string path)
- {
- var serializer = new XmlSerializer(typeof(TestContainer));
- using(var stream = new FileStream(path, FileMode.Create))
- {
- serializer.Serialize(stream, this);
- }
- }
- public static TestContainer Load(string path)
- {
- var serializer = new XmlSerializer(typeof(TestContainer));
- using(var stream = new FileStream(path, FileMode.Open))
- {
- return serializer.Deserialize(stream) as TestContainer;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement