private void UlozitTransformaceDoXml(transformace trs, string sSoubor) { FileStream fs = new FileStream(sSoubor, FileMode.Create); XmlSerializer ser = new XmlSerializer(typeof(transformace)); ser.Serialize(fs, trs); fs.Close(); }
public void NactiZeSouboru() { //if (mstrSoubor == null) // throw new NullReferenceException("Není určen soubor pro načtení transformací."); mkrKoren = new Koren(); mtgTagy = new Tagy(); mctCitace = new Citace(); mnhNahrady = new Nahrady(); transformace tr = NacistTransformaceXml(mstrSoubor); Atributy atr; mkrKoren.Nazev = tr.koren.nazev; mkrKoren.Namespace = tr.koren.@namespace; mkrKoren.Atributy = PrevedAtributy(tr.koren.atribut); foreach (tag tg in tr.tagy) { atr = PrevedAtributy(tg.atribut); Nahrady nhr = PrevedNahrady(tg.nahrada); Tag t = new Tag(tg.bezZnacky, tg.ignorovat, tg.@namespace, tg.nazev, tg.prazdnyElement, tg.predchoziStyl, tg.sloucitSPredchozim, tg.nasledujiciStyl, tg.sloucitSNasledujicim, tg.styl, atr, nhr); mtgTagy.Add(t); } Citace ctc = new Citace(); if (tr.citace != null) { foreach (citac ct in tr.citace) { ctc.Add(new Citac(ct.format, ct.hodnota, ct.inkrement, ct.inkrementator, ct.nazev, ct.postfix, ct.prefix, ct.resetator, ct.vychoziHodnota)); } } mctCitace = ctc; Nahrady nhrd = PrevedNahrady(tr.nahrady); mnhNahrady = nhrd; mtbTabulky = new Tabulky(tr.tabulky.tabulka, tr.tabulky.radek, tr.tabulky.bunka, tr.tabulky.textMistoTabulky, tr.tabulky.obsahPrazdneBunky, tr.tabulky.cislovatElementy); mdtPosledniZmena = tr.posledniZmena; }
private transformace NacistTransformaceXml(string sSoubor) { MemoryStream ms; Stream fs; transformace trs = null; XmlSerializer ser = new XmlSerializer(typeof(transformace)); if (sSoubor == null) { Assembly _assembly; _assembly = Assembly.GetExecutingAssembly(); fs = _assembly.GetManifestResourceStream(_assembly.GetName().Name + ".Resources.AllStyles.2xml"); if (fs != null) { trs = (transformace)ser.Deserialize(fs); fs.Close(); } } else { fs = new FileStream(sSoubor, FileMode.Open, FileAccess.Read); trs = (transformace)ser.Deserialize(fs); fs.Close(); } // If the XML document has been altered with unknown // nodes or attributes, handles them with the // UnknownNode and UnknownAttribute events. //ser.UnknownNode+= new XmlNodeEventHandler(serializer_UnknownNode); //ser.UnknownAttribute+= new XmlAttributeEventHandler(serializer_UnknownAttribute); return(trs); }
public void UlozDoSouboru(string sSouborXml) { if (sSouborXml == null) { throw new NullReferenceException("Není určen soubor pro načtení transformací."); } transformace tr = new transformace(); tr.posledniZmena = this.PosledniZmena; if (mkrKoren != null) { koren kr = new koren(); kr.@namespace = mkrKoren.Namespace; kr.nazev = mkrKoren.Nazev; kr.atribut = PrevedAtributy(mkrKoren.Atributy); tr.koren = kr; } if (this.Citace.Count > 0) { citac[] ct = new citac[this.Citace.Count]; //TODO: rozepsat citace int i = -1; foreach (Citac c in mctCitace) { i++; ct[i] = new citac(); ct[i].format = c.Format; ct[i].hodnota = c.Hodnota; ct[i].inkrement = c.Inkrement; ct[i].inkrementator = c.Inkrementator; ct[i].nazev = c.Nazev; ct[i].postfix = c.Postfix; ct[i].prefix = c.Prefix; ct[i].resetator = c.Resetator; ct[i].vychoziHodnota = c.VychoziHodnota; } //tr.citace = ct; tr.citace = ct.ToList(); } tr.nahrady = PrevedNahrady(this.Nahrady); if (this.Tagy.Count > 0) { tag[] tg = new tag[this.Tagy.Count]; int i = -1; foreach (Tag t in this.Tagy) { i++; tg[i] = new tag(); tg[i].atribut = PrevedAtributy(t.Atributy); tg[i].nahrada = PrevedNahrady(t.Nahrady); tg[i].bezZnacky = t.BezZnacky; tg[i].bezZnackySpecified = true; tg[i].ignorovat = t.Ignorovat; tg[i].ignorovatSpecified = true; tg[i].@namespace = t.Namespace; tg[i].nazev = t.Nazev; tg[i].prazdnyElement = t.PrazdnyElement; tg[i].predchoziStyl = t.PredchoziStyl; tg[i].sloucitSPredchozim = t.SloucitSPredchozim; tg[i].styl = t.Styl; } //tr.tagy = tg; tr.tagy = tg.ToList(); } UlozitTransformaceDoXml(tr, sSouborXml); }