public static XElement CreateXmlNode(XNamespace Ns, XMap_Content S) { XElement el = new XElement(Ns + Constants.XMAP_CONTENT); el.Add(new XAttribute(Constants.XMLNS, S.Xmlns)); el.Add(new XAttribute(Constants.XMLNS_FO, S.Xmlns_Fo)); el.Add(new XAttribute(Constants.XMLNS_SVG, S.Xmlns_Svg)); el.Add(new XAttribute(Constants.XMLNS_XHTML, S.Xmlns_Xhtml)); el.Add(new XAttribute(Constants.XMLNS_XLINK, S.Xmlns_Xlink)); if (!String.IsNullOrEmpty(S.Modified_By)) { el.Add(new XAttribute(Constants.MODIFIED_BY, S.Modified_By)); } if (S.Timestamp == 0) { el.Add(new XAttribute(Constants.TIMESTAMP, Util.GetEpoch())); } else { el.Add(new XAttribute(Constants.TIMESTAMP, S.Timestamp)); } el.Add(new XAttribute(Constants.VERSION, S.Version)); foreach (Sheet item in S.SheetList) { el.Add(Sheet.CreateXmlNode(Ns, item)); } return(el); }
public static XMap_Content ParseXmlNode(XElement Node) { XMap_Content t = new XMap_Content(); IEnumerable <XAttribute> attrCol = Node.Attributes(); foreach (XAttribute item in attrCol) { switch (item.Name.LocalName) { case Constants.XMLNS: t.Xmlns = item.Value; break; case Constants.XMLNS_FO: t.Xmlns_Fo = item.Value; break; case Constants.XMLNS_SVG: t.Xmlns_Svg = item.Value; break; case Constants.XMLNS_XHTML: t.Xmlns_Xhtml = item.Value; break; case Constants.XMLNS_XLINK: t.Xmlns_Xlink = item.Value; break; case Constants.MODIFIED_BY: t.Modified_By = item.Value; break; case Constants.TIMESTAMP: t.Timestamp = long.Parse(item.Value); break; case Constants.VERSION: t.Version = item.Value; break; default: break; } } IEnumerable <XElement> nodeliste = Node.Elements(); foreach (XElement item in nodeliste) { switch (item.Name.LocalName) { case Constants.SHEET: t.AddSheet(Sheet.ParseXmlNode(item)); break; default: break; } } return(t); }