如何在不丢失段落的情况下将html转换为doc?

腐败

我尝试从网站获取文本。例如http://ahmetturanalkan.net/yazi/laik-cemaatin-kokleri-kadikoyde-mi/

它以纯文本形式导出到单词。我的意思是没有</ p> <p>,这使得它没有段落。如何将其转换为带有适当段落的原始网站上的文本?

这是我得到文本的方法

       private string yazial(string s)
    {
        string htmlContent = getsource(s);
        HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
        document.LoadHtml(htmlContent);
        var nodlar = document.DocumentNode.SelectSingleNode("*//article").InnerHtml;

        var nodlar1 = document.DocumentNode.SelectSingleNode("*//article/div[@class='page-header']").InnerText;
        //lectSingleNode
        docyap(nodlar,nodlar1);
        return nodlar;
    }

这是我尝试导出Word文档的方法

  private void docyap(string s,string g)
    {
        Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
        oWord.Visible = true;
        object oMissing = System.Reflection.Missing.Value;

        Microsoft.Office.Interop.Word.Document wBelge = oWord.Documents.Add(ref oMissing, ref oMissing,
        ref oMissing, ref oMissing);    

        Microsoft.Office.Interop.Word.Paragraph baslik = wBelge.Paragraphs.Add(ref oMissing);
        object styleHeading = "Başlık 1";
        baslik.Range.set_Style(styleHeading);
        baslik.Range.Text = g; 

        baslik.Range.InsertParagraphAfter();
        Microsoft.Office.Interop.Word.Paragraph paragraf2;
        paragraf2 = wBelge.Paragraphs.Add(ref oMissing);
        paragraf2.Range.Text = s;
        paragraf2.Range.InsertParagraphAfter();           
        wBelge.SaveAs(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
腐败

我最终使用像

           string yeni = nodlar.Replace("<p>", "    ").Replace("</p>","\n");
           yeni = System.Text.RegularExpressions.Regex.Replace(yeni, "<div(.*)</div>", string.Format(""));
           yeni = System.Text.RegularExpressions.Regex.Replace(yeni, "<div(.*)</a>", string.Format(""));
            yeni = Regex.Replace(yeni, @"<[^>]*>", String.Empty);

但最好知道是否存在更整洁的解决方案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不丢失Java格式的情况下将HTML内容转换为PDF?

如何在不丢失数据的情况下将MBR分区转换为GPT?

如何在不丢失列的情况下将列(类别类型)转换为列?

如何在不丢失前导零的情况下将String转换为Long

如何在不丢失信息的情况下将因子转换为整数\数字?

如何在不丢失列表结构的情况下将列表项转换为 unicode

如何在不丢失数据的情况下将MBR HDD转换为GPT?

如何在不编写中间HTML文件的情况下将Markdown转换为PDF?

如何在不嵌套特定标签的情况下将EditText转换为html

如何在不丢失数据的情况下将驱动器从ext4转换为NTFS?

如何在不丢失TypeScript类的属性的情况下将JSON对象列表转换为TypeScript对象列表?

doctrine2:如何在不丢失数据的情况下将一对多转换为多对多

如何在不丢失分支的情况下将mercurial存储库转换为git存储库?

如何在不丢失C#中的数字值的情况下将int数字转换为char

如何在不丢失元数据的情况下将mp3转换为WAV?

如何在不丢失 metagraphdef 的情况下将 .meta .index 和 .data 文件转换为 SavedModel (.pb) 格式?

如何在不丢失数据的情况下将USB驱动程序从ext3转换为ext2?

如何在不丢失变量标签的情况下将所有因子变量转换为大型数据框中的数字变量?

如何在不丢失数据的情况下将ext4分区转换为btrfs(或其他文件系统)?

ncdump - 如何在不包含 nodata 值的情况下将 .nc 转换为文本?

如何在不创建对象的情况下将Java类转换为json格式结构

如何在不循环的情况下将python JSON行转换为dataframe列

如何在不转换为datetime的情况下将“ Ticks”截断毫秒数?

如何在不损失结果范围的情况下将C中的uint转换为int

如何在不四舍五入的情况下将CAST转换为小数

如何在不激怒mypy的情况下将列表转换为元组?

如何在不运行Task的情况下将Action转换为Func <Task>?

如何在不添加额外数字的情况下将float转换为double?

如何在不损失透明度的情况下将图像转换为灰度?