整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Java 将HTML转为XML

文介绍如何通过Java后端程序代码来展示如何将html转为XML。此功能通过采用Word API- Free Spire.Doc for Java 提供的Document.saveToFile()方法来实现;该方法支持的目标文档格式多达 30余种。另外,该API也提供了多种方法,如Document.saveToEpub()Document.saveToFile()Document.saveToImages()Document.saveToSVG()Document.saveToTxt()、Document.saveToTiff()等,可用于将源文件转为Epub、图片、文本文件等目标文档格式。

下面,将以html转为xml格式为例,介绍如何实现转换。以下是详细方法及步骤。


【关于如何导入jar包】

通过 Maven仓库 下载导入,如下配置pom.xml:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

如需手动导入,需要下载 jar包 到本地,然后解压,找到lib文件夹下的Spire.Doc.jar文件。在IDEA中打开“Project Structure”界面,执行如图步骤将本地路径下的jar文件手动引入Java程序:


【将HTML转为XML】

转换时,可参考如下代码步骤:

  • 创建Document类的对象。
  • 调用Document.loadFromFile(String fileName, FileFormat fileFormat)方法加载HTML文件。
  • 通过Document.saveToFile(String fileName, FileFormat fileFormat)方法保存为XML格式到指定路径。

Java

import com.spire.doc.*;

public class HTMLtoXML {
    public static void main(String[] args) {
        //创建Document类的对象
        Document doc = new Document();

        //加载html文件
        doc.loadFromFile("sample.html",FileFormat.Html);

        //保存为XML格式
        doc.saveToFile("HTMLtoXML.xml", FileFormat.Xml);
    }
}

转换效果:

—END—


原文出处:https://www.cnblogs.com/Yesi/p/16392430.html

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

学习更多JAVA知识与技巧,关注与私信博主(555),即可免费领取

文以C#及VB.NET后端程序代码示例展示如何将HTML转为XML文件。转换时,调用Word API -Free Spire.Doc for .NET 提供的文档加载方法及文档保存的方法来实现。转换的代码步骤很简单,具体可参考以下内容。


引入dll

1.通过NuGet安装dll(2种方法)

1.1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

1.2将以下内容复制到PM控制台安装:

Install-Package FreeSpire.Doc -Version 10.2

2.手动添加dll引用

可通过手动下载包到本地,然后解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。


将HTML转为XML

转换时,可参考如下代码来进行:

  1. 创建Document类的对象。
  2. 调用Document.LoadFromFile(string fileName, FileFormat fileFormat)方法加载HTML文档。
  3. 通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存为XML格式到指定路径。

C#

using Spire.Doc;

namespace HTMLtoXML
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Document类的对象
            Document doc = new Document();

            //加载html文件
            doc.LoadFromFile("sample.html",FileFormat.Html);

            //保存为XML格式
            doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml);
            System.Diagnostics.Process.Start("HTMLtoXML.xml");
        }
    }
}

vb.net

Imports Spire.Doc

Namespace HTMLtoXML
    Class Program
        Private Shared Sub Main(args As String())
            '创建Document类的对象
            Dim doc As New Document()

            '加载html文件
            doc.LoadFromFile("sample.html", FileFormat.Html)

            '保存为XML格式
            doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml)
            System.Diagnostics.Process.Start("HTMLtoXML.xml")
        End Sub
    End Class
End Namespace

转换效果:

—End—

求场景:

公司某个站点删除大量稿件,但是这些稿件已经被百度收录,这样用户访问将会出现404,用户体验不太好,所以需要将删除的稿件生成为xml格式文件,并且每个文件为5000条数据,然后提交至百度进行收录删除。

普通文件:

https://www.abc.com/html/ys/13003183/20191115/123456.html

https://www.abc.com/html/ys/13003183/20191115/123765.html

https://www.abc.com/html/ys/13003183/20191115/567567.html

https://www.abc.com/html/ys/13003183/20191115/456456.html

https://www.abc.com/html/ys/13003183/20191115/374456.html

https://www.abc.com/html/ys/13003183/20191115/37456645.html

xml格式文件:

<urlset>

<url> <loc> https://www.abc.com/html/ys/13003183/20191115/37404973.html </loc> </url>

<url> <loc> https://www.abc.com/html/jb/13003184/20191115/37404988.html </loc> </url>

<url> <loc> https://www.abc.com/html/jb/13003184/20191115/37404968.html </loc> </url>

<url> <loc> https://www.abc.com/ylaq/13003182/20191115/37404860.html </loc> </url>

<url> <loc> https://www.abc.com/ylaq/13003182/20191115/37404861.html </loc> </url>

</urlset>

脚本信息:

cat xml.sh
#!/bin/bash
#
sed -i 's/^/\<url\> \<loc\> /g' $1
sed -i 's/$/ \<\/loc\> \<\/url\>/g' $1
name=`echo $1 | awk -F"." '{print $1}'`
echo $name
split -l 5000 $1 ${name}_xml
for filename in `find ./ -name "${name}_xml*"`
do
 sed -i '1 i\\<urlset\>' $filename
 echo "</urlset>" >> $filename
 mv $filename ${filename}.xml
done

执行:

sh xml.sh 文件名称

脚本讲解:

  • 脚本使用sed对行首和行尾添加字段;
  • 定义变量去掉文件后缀名称;
  • 使用split对文件进行分割;
  • 使用for循环对分割后的文件进行添加xml首部和尾部字段,然后进行重命名;