/// <summary> /// Wraps JSoup nodes into pdfHTML /// <see cref="iText.StyledXmlParser.Node.INode"/> /// classes. /// </summary> /// <param name="jsoupNode">the JSoup node instance</param> /// <returns> /// the /// <see cref="iText.StyledXmlParser.Node.INode"/> /// instance /// </returns> private INode WrapJsoupHierarchy(iText.StyledXmlParser.Jsoup.Nodes.Node jsoupNode) { INode resultNode = null; if (jsoupNode is Document) { resultNode = new JsoupDocumentNode((Document)jsoupNode); } else { if (jsoupNode is TextNode) { resultNode = new JsoupTextNode((TextNode)jsoupNode); } else { if (jsoupNode is iText.StyledXmlParser.Jsoup.Nodes.Element) { resultNode = new JsoupElementNode((iText.StyledXmlParser.Jsoup.Nodes.Element)jsoupNode); } else { if (jsoupNode is DataNode) { resultNode = new JsoupDataNode((DataNode)jsoupNode); } else { if (jsoupNode is DocumentType) { resultNode = new JsoupDocumentTypeNode((DocumentType)jsoupNode); } else { if (jsoupNode is Comment || jsoupNode is XmlDeclaration) { } else { // Ignore. We should do this to avoid redundant log message logger.Error(MessageFormatUtil.Format(iText.StyledXmlParser.LogMessageConstant.ERROR_PARSING_COULD_NOT_MAP_NODE , jsoupNode.GetType())); } } } } } } foreach (iText.StyledXmlParser.Jsoup.Nodes.Node node in jsoupNode.ChildNodes()) { INode childNode = WrapJsoupHierarchy(node); if (childNode != null) { resultNode.AddChild(childNode); } } return(resultNode); }
/// <summary> /// Wraps JSoup nodes into pdfHTML /// <see cref="iText.StyledXmlParser.Node.INode"/> /// classes. /// </summary> /// <param name="jsoupNode">the JSoup node instance</param> /// <returns> /// the /// <see cref="iText.StyledXmlParser.Node.INode"/> /// instance /// </returns> private INode WrapJsoupHierarchy(iText.StyledXmlParser.Jsoup.Nodes.Node jsoupNode) { INode resultNode = null; if (jsoupNode is Document) { resultNode = new JsoupDocumentNode((Document)jsoupNode); } else { if (jsoupNode is TextNode) { resultNode = new JsoupTextNode((TextNode)jsoupNode); } else { if (jsoupNode is iText.StyledXmlParser.Jsoup.Nodes.Element) { resultNode = new JsoupElementNode((iText.StyledXmlParser.Jsoup.Nodes.Element)jsoupNode); } else { if (jsoupNode is DataNode) { resultNode = new JsoupDataNode((DataNode)jsoupNode); } else { if (jsoupNode is DocumentType) { resultNode = new JsoupDocumentTypeNode((DocumentType)jsoupNode); } else { if (jsoupNode is Comment) { } else { logger.Error(MessageFormatUtil.Format("Could not map node type: {0}", jsoupNode.GetType())); } } } } } } foreach (iText.StyledXmlParser.Jsoup.Nodes.Node node in jsoupNode.ChildNodes()) { INode childNode = WrapJsoupHierarchy(node); if (childNode != null) { resultNode.AddChild(childNode); } } return(resultNode); }