/// <summary> /// Convierte los nodos /// </summary> private void ConvertNode(MLNode nodeML) { if (MLBuilder.CheckIsEmpty(nodeML)) { if (!MLBuilder.CheckIsSpanNode(nodeML)) { AddNodeTag(nodeML, null); } } else if (MLBuilder.CheckIsLinkNode(nodeML)) { builder.AddText(GetNodeLink(nodeML)); } else if (MLBuilder.CheckIsSpanNode(nodeML)) { AddNodeSpan(nodeML); } else { // Crea la etiqueta y le añade la indentación AddNodeTag(nodeML, nodeML.Value); builder.AddIndent(); // Crea los nodos hijo foreach (MLNode childML in nodeML.Nodes) { ConvertNode(childML); } // Quita la indentación builder.RemoveIndent(); } }
/// <summary> /// Convierte los nodos /// </summary> private void ConvertNode(MLNode objMLNode) { if (MLBuilder.CheckIsEmpty(objMLNode)) { if (!MLBuilder.CheckIsSpanNode(objMLNode)) { AddNodeTag(objMLNode, null); } } else if (MLBuilder.CheckIsLinkNode(objMLNode)) { objBuilder.AddText(GetNodeLink(objMLNode)); } else if (MLBuilder.CheckIsSpanNode(objMLNode)) { AddNodeSpan(objMLNode); } else { // Crea la etiqueta y le añade la indentación AddNodeTag(objMLNode, objMLNode.Value); objBuilder.AddIndent(); // Crea los nodos hijo foreach (MLNode objMLChild in objMLNode.Nodes) { ConvertNode(objMLChild); } // Quita la indentación objBuilder.RemoveIndent(); } }
/// <summary> /// Obtiene el texto de los spans de un nodo /// </summary> private void AddNodeSpan(MLNode nodeML) { string text = ""; // Crea el texto a partir de los nodos span if (nodeML.Nodes.Count == 0) { text = ConvertSpanText(nodeML); } else { foreach (MLNode childML in nodeML.Nodes) { if (MLBuilder.CheckIsSpanNode(childML)) { text = text.AddWithSeparator(ConvertSpanText(childML), " ", false); } else if (MLBuilder.CheckIsLinkNode(childML)) { text = text.AddWithSeparator(GetNodeLink(childML), " ", false); } else { text = text.AddWithSeparator(childML.Value, " ", false); } } } // Escribe el texto builder.AddText(text); }
/// <summary> /// Obtiene el texto de los spans de un nodo /// </summary> private void AddNodeSpan(MLNode objMLNode) { string strText = ""; // Crea el texto a partir de los nodos span if (objMLNode.Nodes.Count == 0) { strText = ConvertSpanText(objMLNode); } else { foreach (MLNode objMLChild in objMLNode.Nodes) { if (MLBuilder.CheckIsSpanNode(objMLChild)) { strText = strText.AddWithSeparator(ConvertSpanText(objMLChild), " ", false); } else if (MLBuilder.CheckIsLinkNode(objMLChild)) { strText = strText.AddWithSeparator(GetNodeLink(objMLChild), " ", false); } else { strText = strText.AddWithSeparator(objMLChild.Value, " ", false); } } } // Escribe el texto objBuilder.AddText(strText); }
/// <summary> /// Convierte los nodos /// </summary> private void ConvertNode(string actualPath, MLNode nodeML) { if (MLBuilder.CheckIsEmpty(nodeML)) { if (!MLBuilder.CheckIsSpanNode(nodeML)) { builder.AddTag(GetStartTag(nodeML, true)); } } else if (MLBuilder.CheckIsLinkNode(nodeML)) { builder.AddTag(GetLinkTag(actualPath, nodeML)); } else if (MLBuilder.CheckIsSpanNode(nodeML)) { builder.AddTag(ConvertSpansText(actualPath, nodeML)); } else { // Crea la etiqueta y le añade la indentación builder.AddTag(GetStartTag(nodeML), nodeML.Value); builder.AddIndent(); // Crea los nodos hijo foreach (MLNode childML in nodeML.Nodes) { ConvertNode(actualPath, childML); } // Quita la indentación builder.RemoveIndent(); builder.AddTag(GetEndTag(nodeML.Name)); } }
/// <summary> /// Obtiene el texto de los spans de un nodo /// </summary> private string ConvertSpansText(string actualPath, MLNode nodeML) { string text = ""; // Crea el texto a partir de los nodos de span if (nodeML.Nodes.Count == 0) { text = GetSpanText(nodeML.Value, MLBuilder.GetFormats(nodeML), MLBuilder.CheckIsBold(nodeML), MLBuilder.CheckIsItalic(nodeML)); } else { foreach (MLNode childML in nodeML.Nodes) { if (MLBuilder.CheckIsSpanNode(childML)) { text = text.AddWithSeparator(GetSpanText(childML.Value, MLBuilder.GetFormats(childML), MLBuilder.CheckIsBold(nodeML) || MLBuilder.CheckIsBold(childML), MLBuilder.CheckIsItalic(nodeML) || MLBuilder.CheckIsItalic(childML)), " ", false); } else if (MLBuilder.CheckIsLinkNode(childML)) { text = text.AddWithSeparator(GetLinkTag(actualPath, childML), " ", false); } else { text = text.AddWithSeparator(childML.Value, " ", false); } } } // Devuelve el texto convertido return(text); }
/// <summary> /// Convierte los nodos /// </summary> private void ConvertNode(string strActualPath, MLNode objMLNode) { if (MLBuilder.CheckIsEmpty(objMLNode)) { if (!MLBuilder.CheckIsSpanNode(objMLNode)) { objBuilder.AddTag(GetStartTag(objMLNode, true)); } } else if (MLBuilder.CheckIsLinkNode(objMLNode)) { objBuilder.AddTag(GetLinkTag(strActualPath, objMLNode)); } else if (MLBuilder.CheckIsSpanNode(objMLNode)) { objBuilder.AddTag(ConvertSpansText(strActualPath, objMLNode)); } else { // Crea la etiqueta y le añade la indentación objBuilder.AddTag(GetStartTag(objMLNode), objMLNode.Value); objBuilder.AddIndent(); // Crea los nodos hijo foreach (MLNode objMLChild in objMLNode.Nodes) { ConvertNode(strActualPath, objMLChild); } // Quita la indentación objBuilder.RemoveIndent(); objBuilder.AddTag(GetEndTag(objMLNode.Name)); } }
/// <summary> /// Obtiene el texto de los spans de un nodo /// </summary> private string ConvertSpansText(string strActualPath, MLNode objMLNode) { string strText = ""; // Crea el texto a partir de los nodos de span if (objMLNode.Nodes.Count == 0) { strText = GetSpanText(objMLNode.Value, MLBuilder.CheckIsBold(objMLNode), MLBuilder.CheckIsItalic(objMLNode)); } else { foreach (MLNode objMLChild in objMLNode.Nodes) { if (MLBuilder.CheckIsSpanNode(objMLChild)) { strText = strText.AddWithSeparator(GetSpanText(objMLChild.Value, MLBuilder.CheckIsBold(objMLNode) || MLBuilder.CheckIsBold(objMLChild), MLBuilder.CheckIsItalic(objMLNode) || MLBuilder.CheckIsItalic(objMLChild)), " ", false); } else if (MLBuilder.CheckIsLinkNode(objMLChild)) { strText = strText.AddWithSeparator(GetLinkTag(strActualPath, objMLChild), " ", false); } else { strText = strText.AddWithSeparator(objMLChild.Value, " ", false); } } } // Devuelve el texto convertido return(strText); }