public IEnumerable <Artigo> Create(IList <Conteudo> conteudos) { List <Artigo> artigos = new List <Artigo>(); foreach (Conteudo conteudo in conteudos) { string titulo = CleanIdMateria(conteudo.Titulo); Metadados metadados = new Metadados() { TipoDoArtigo = GetType(titulo), Nome = GetName(titulo), Grade = GetGrade(conteudo.Hierarquia), NumeroDaPagina = conteudo.Page, Titulo = titulo, IdMateria = GetIdMateria(conteudo.Titulo) }; var article = new Artigo { Metadados = metadados, Conteudo = conteudo, Anexos = conteudo.Anexos }; if (IsArticle(article)) { artigos.Add(article); } } return(artigos); }
public Artigo Create(List <Conteudo> input) { var conteudo = input[0]; string titulo = CleanIdMateria(conteudo.Titulo); Metadados metadados = new Metadados() { TipoDoArtigo = GetType(titulo), Nome = GetName(titulo), Grade = GetGrade(conteudo.Hierarquia), NumeroDaPagina = conteudo.Page, Titulo = titulo, IdMateria = GetIdMateria(conteudo.Titulo) }; var article = new Artigo { Metadados = metadados, Conteudo = conteudo, Anexos = conteudo.Anexos }; return(article); }
public void XMLWriter(Artigo artigo, Stream virtualStream) { var settings = new XmlWriterSettings() { OmitXmlDeclaration = true, // omit XML declaration Indent = true }; using (XmlWriter writer = XmlWriter.Create(virtualStream, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("article"); Conteudo conteudo = artigo.Conteudo; Metadados metadados = artigo.Metadados; List <Anexo> anexos = artigo.Anexos; if (metadados.IdMateria != null) { writer.WriteAttributeString("idmateria", metadados.IdMateria); } writer.WriteAttributeString("numberPage", metadados.NumeroDaPagina.ToString()); writer.WriteStartElement("body"); // Hierarquia writer.WriteStartElement("Hierarquia"); foreach (var classe in conteudo.HierarquiaTitulo) { writer.WriteElementString("Classe", classe); } writer.WriteEndElement(); // Artigo writer.WriteStartElement("Artigo"); writer.WriteCData("\n" + conteudo.Texto + "\n"); writer.WriteEndElement(); //Writing Body writer.WriteElementString("Identifica", ConvertBreakline2Space(metadados.Titulo)); writer.WriteElementString("Ementa", conteudo.Caput); writer.WriteStartElement("Texto"); writer.WriteCData(conteudo.Corpo); writer.WriteEndElement(); if (conteudo.Autor.Count > 0) { writer.WriteStartElement("Autores"); foreach (Autor autor in conteudo.Autor) { writer.WriteElementString("assina", ConvertBreakline2Space(autor.Assinatura)); if (autor.Cargo != null) { writer.WriteElementString("cargo", ConvertBreakline2Space(autor.Cargo)); } } writer.WriteEndElement(); } if (conteudo.Data != null) { writer.WriteElementString("Data", conteudo.Data); } writer.WriteEndElement(); // body writer.WriteEndElement(); // article writer.WriteEndDocument(); } }
public void XMLWriter(IEnumerable <Artigo> artigos, string doc) { string finalURL = doc; var settings = new XmlWriterSettings() { OmitXmlDeclaration = true, // omit XML declaration Indent = true }; using (Stream virtualStream = VirtualFS.OpenWrite($"{finalURL}.xml")) using (XmlWriter writer = XmlWriter.Create(virtualStream, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("article"); foreach (Artigo artigo in artigos) { Conteudo conteudo = artigo.Conteudo; Metadados metadados = artigo.Metadados; List <Anexo> anexos = artigo.Anexos; if (metadados.IdMateria != null) { writer.WriteAttributeString("idmateria", metadados.IdMateria); } //if (conteudo.Hierarquia != null) // writer.WriteAttributeString("hierarquia", ConvertBreakline2Space(conteudo.Hierarquia)); //writer.WriteAttributeString("artSection", ConvertBreakline2Space(metadados.Grade)); writer.WriteAttributeString("numberPage", metadados.NumeroDaPagina.ToString()); writer.WriteStartElement("body"); // Hierarquia writer.WriteStartElement("Hierarquia"); foreach (var classe in conteudo.HierarquiaTitulo) { writer.WriteElementString("Classe", classe); } writer.WriteEndElement(); // Artigo writer.WriteStartElement("Artigo"); writer.WriteCData("\n" + conteudo.Texto + "\n"); writer.WriteEndElement(); //Writing Body writer.WriteElementString("Identifica", ConvertBreakline2Space(metadados.Titulo)); writer.WriteElementString("Ementa", conteudo.Caput); writer.WriteStartElement("Texto"); writer.WriteCData(conteudo.Corpo); writer.WriteEndElement(); if (conteudo.Autor.Count > 0) { writer.WriteStartElement("Autores"); foreach (Autor autor in conteudo.Autor) { writer.WriteElementString("assina", ConvertBreakline2Space(autor.Assinatura)); if (autor.Cargo != null) { writer.WriteElementString("cargo", ConvertBreakline2Space(autor.Cargo)); } } writer.WriteEndElement(); } if (conteudo.Data != null) { writer.WriteElementString("Data", conteudo.Data); } writer.WriteEndElement(); //Writing Anexos if (anexos.Count > 0) { writer.WriteStartElement("Anexos"); foreach (Anexo item in anexos) { writer.WriteStartElement("Anexo"); if (item.HierarquiaTitulo != null) { writer.WriteElementString("Hierarquia", item.HierarquiaTitulo); } if (item.Titulo != null) { writer.WriteElementString("Titulo", item.Titulo); } if (item.Texto != null) { writer.WriteElementString("Texto", item.Texto); } writer.WriteEndElement(); } writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteEndDocument(); } }
public void XMLWriter(IEnumerable <Artigo> artigos, string doc) { string finalURL = ProcessName(artigos.FirstOrDefault(), doc); var settings = new XmlWriterSettings() { Indent = true }; using (XmlWriter writer = VirtualFS.OpenXmlWriter($"{finalURL}.xml", settings)) { writer.WriteStartDocument(); writer.WriteStartElement("Artigo"); foreach (Artigo artigo in artigos) { Conteudo conteudo = artigo.Conteudo; Metadados metadados = artigo.Metadados; List <Anexo> anexos = artigo.Anexos; //Writing Metadata writer.WriteStartElement("Metadados"); writer.WriteAttributeString("ID", conteudo.IntenalId.ToString()); if (metadados.Nome != null) { writer.WriteAttributeString("Nome", ConvertBreakline2Space(metadados.Nome)); } if (metadados.TipoDoArtigo != null) { writer.WriteAttributeString("TipoDoArtigo", ConvertBreakline2Space(metadados.TipoDoArtigo)); } if (conteudo.Hierarquia != null) { writer.WriteAttributeString("Hierarquia", ConvertBreakline2Space(conteudo.Hierarquia)); } if (metadados.Grade != null) { writer.WriteAttributeString("Grade", ConvertBreakline2Space(metadados.Grade)); } if (metadados.NumeroDaPagina >= 0) { writer.WriteAttributeString("NumPagina", metadados.NumeroDaPagina.ToString()); } writer.WriteEndElement(); //Writing Body writer.WriteStartElement("Conteudo"); if (conteudo.Titulo != null) { writer.WriteElementString("Titulo", ConvertBreakline2Space(conteudo.Titulo)); } if (conteudo.Caput != null) { writer.WriteElementString("Caput", conteudo.Caput); } if (conteudo.Corpo != null) { writer.WriteElementString("Corpo", conteudo.Corpo); } if (conteudo.Autor.Count > 0) { writer.WriteStartElement("Autores"); foreach (Autor autor in conteudo.Autor) { writer.WriteStartElement("Autor"); if (autor.Cargo != null) { if (autor.Assinatura == null) { writer.WriteString(ConvertBreakline2Space(autor.Cargo)); } else { writer.WriteAttributeString("Cargo", ConvertBreakline2Space(autor.Cargo)); writer.WriteString(ConvertBreakline2Space(autor.Assinatura)); } } else { writer.WriteString(ConvertBreakline2Space(autor.Assinatura)); } writer.WriteEndElement(); //if (autor.Assinatura != null && autor.Assinatura.Length > 3) // writer.WriteElementString("Assinatura", autor.Assinatura); //if (autor.Cargo != null) // writer.WriteElementString("Cargo", ConvertBreakline2Space(autor.Cargo)); } writer.WriteEndElement(); } if (conteudo.Data != null) { writer.WriteElementString("Data", conteudo.Data); } writer.WriteEndElement(); //Writing Anexos if (anexos.Count > 0) { writer.WriteStartElement("Anexos"); foreach (Anexo item in anexos) { writer.WriteStartElement("Anexo"); if (item.HierarquiaTitulo != null) { writer.WriteElementString("Hierarquia", item.HierarquiaTitulo); } if (item.Titulo != null) { writer.WriteElementString("Titulo", item.Titulo); } if (item.Texto != null) { writer.WriteElementString("Texto", item.Texto); } writer.WriteEndElement(); } writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteEndDocument(); } }