dom4j api(java的xml引擎中,dom4j和jdom有什么区别)

2025-02-12 02:50:04 0

dom4j api(java的xml引擎中,dom4j和jdom有什么区别)

本文目录

java的xml引擎中,dom4j和jdom有什么区别

dom是解析xml的底层接口之一(另一种是sax) ;而jdom和dom4j则是基于底层api的更高级封装; dom是通用的,而jdom和dom4j则是面向java语言的。JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型,JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。从 2000 年初就已经开始了 JDOM 开发。 JDOM 与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。 JDOM 文档声明其目的是“使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题”(根据学习曲线假定为 20%)。JDOM 对于大多数 Java/XML 应用程序来说当然是有用的,并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习 DOM 或 JDOM 接口都更有意义的工作。 JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。DOM4J 虽然 DOM4J 代表了完全独立的开发结果,但最初,它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过 DOM4J API 和标准 DOM 接口具有并行访问功能。从 2000 下半年开始,它就一直处于开发之中。 为支持所有这些功能,DOM4J 使用接口和抽象基本类方法。DOM4J 大量使用了 API 中的 Collections 类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然 DOM4J 付出了更复杂的 API 的代价,但是它提供了比 JDOM 大得多的灵活性。 在添加灵活性、XPath 集成和对大文档处理的目标时,DOM4J 的目标与 JDOM 是一样的:针对 Java 开发者的易用性和直观操作。它还致力于成为比 JDOM 更完整的解决方案,实现在本质上处理所有 Java/XML 问题的目标。在完成该目标时,它比 JDOM 更少强调防止不正确的应用程序行为。 DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。

求Java解析xml的四种 方法的代码 dom sax jdom dom4j

1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 2)SAX SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。 选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。 DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用 navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。 SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。 3)JDOM JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一个Java特定模型,JDOM一直得到大力推广和促进。正在考虑通过“Java规范请求JSR-102”将它最终用作“Java标准扩展”。从2000年初就已经开始了JDOM开发。 JDOM与DOM主要有两方面不同。首先,JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。 JDOM文档声明其目的是“使用20%(或更少)的精力解决80%(或更多)Java/XML问题”(根据学习曲线假定为20%)。JDOM对于大多数 Java/XML应用程序来说当然是有用的,并且大多数开发者发现API比DOM容易理解得多。JDOM还包括对程序行为的相当广泛检查以防止用户做任何在XML中无意义的事。然而,它仍需要您充分理解XML以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习DOM或JDOM接口都更有意义的工作。 JDOM自身不包含解析器。它通常使用SAX2解析器来解析和验证输入XML文档(尽管它还可以将以前构造的DOM表示作为输入)。它包含一些转换器以将JDOM表示输出成SAX2事件流、DOM模型或XML文本文档。JDOM是在Apache许可证变体下发布的开放源码。 4)DOM4J 虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、 XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API和标准DOM接口具有并行访问功能。从2000下半年开始,它就一直处于开发之中。 为支持所有这些功能,DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的Collections类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。 在添加灵活性、XPath集成和对大文档处理的目标时,DOM4J的目标与JDOM是一样的:针对Java开发者的易用性和直观操作。它还致力于成为比 JDOM更完整的解决方案,实现在本质上处理所有Java/XML问题的目标。在完成该目标时,它比JDOM更少强调防止不正确的应用程序行为。 DOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写 XML,特别值得一提的是连Sun的JAXM也在用DOM4J. 2、比较 1)DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J. 2)JDOM和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程语言。它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在 JavaScript中使用DOM)。 3)SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。 3.四种XML操作方式的基本使用方法 xml文件: 《?xml version=“1.0“ encoding=“GB2312“?》 《RESULT》 《VALUE》 《NO》A1234《/NO》 《ADDR》四川省XX县XX镇XX路X段XX号《/ADDR》 《/VALUE》 《VALUE》 《NO》B1234《/NO》 《ADDR》四川省XX市XX乡XX村XX组《/ADDR》 《/VALUE》 《/RESULT》 1)DOM import java.io.*; import java.util.*; import org.w3c.dom.*; import javax.xml.parsers.*; public class MyXMLReader{ public static void main(String arge){ long lasting =System.currentTimeMillis(); try{ File f=new File(“data_10k.xml“); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc = builder.parse(f); NodeList nl = doc.getElementsByTagName(“VALUE“); for (int i=0;i《nl.getLength();i++){ System.out.print(“车牌号码:“ + doc.getElementsByTagName(“NO“).item(i).getFirstChild().getNodeValue()); System.out.println(“车主地址:“ + doc.getElementsByTagName(“ADDR“).item(i).getFirstChild().getNodeValue()); } }catch(Exception e){ e.printStackTrace(); } 2)SAX import org.xml.sax.*; import org.xml.sax.helpers.*; import javax.xml.parsers.*; public class MyXMLReader extends DefaultHandler { java.util.Stack tags = new java.util.Stack(); public MyXMLReader() { super(); } public static void main(String args) { long lasting = System.currentTimeMillis(); try { SAXParserFactory sf = SAXParserFactory.newInstance(); SAXParser sp = sf.newSAXParser(); MyXMLReader reader = new MyXMLReader(); sp.parse(new InputSource(“data_10k.xml“), reader); } catch (Exception e) { e.printStackTrace(); } System.out.println(“运行时间:“ + (System.currentTimeMillis() - lasting) + “毫秒“);} public void characters(char ch, int start, int length) throws SAXException { String tag = (String) tags.peek(); if (tag.equals(“NO“)) { System.out.print(“车牌号码:“ + new String(ch, start, length)); } if (tag.equals(“ADDR“)) { System.out.println(“地址:“ + new String(ch, start, length)); } } public void startElement(String uri,String localName,String qName,Attributes attrs) { tags.push(qName);} } 3)JDOM import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.input.*; public class MyXMLReader { public static void main(String arge) { long lasting = System.currentTimeMillis(); try { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(new File(“data_10k.xml“)); Element foo = doc.getRootElement(); List allChildren = foo.getChildren(); for(int i=0;i《allChildren.size();i++) { System.out.print(“车牌号码:“ + ((Element)allChildren.get(i)).getChild(“NO“).getText()); System.out.println(“车主地址:“ + ((Element)allChildren.get(i)).getChild(“ADDR“).getText()); } } catch (Exception e) { e.printStackTrace(); } } 4)DOM4J import java.io.*; import java.util.*; import org.dom4j.*; import org.dom4j.io.*; public class MyXMLReader { public static void main(String arge) { long lasting = System.currentTimeMillis(); try { File f = new File(“data_10k.xml“); SAXReader reader = new SAXReader(); Document doc = reader.read(f); Element root = doc.getRootElement(); Element foo; for (Iterator i = root.elementIterator(“VALUE“); i.hasNext() { foo = (Element) i.next(); System.out.print(“车牌号码:“ + foo.elementText(“NO“)); System.out.println(“车主地址:“ + foo.elementText(“ADDR“)); } } catch (Exception e) { e.printStackTrace(); } )

dom 和dom4j有什么区别

dom的含义是文档对象模型,好比你在用调用document.getElementById(..)这个document就是一个文档对象,DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscape的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。是以层次结构组织的节点或信息片断的集合DOM4J是用来进行XML交互的api,读写XML文件的

如何用Dom4j获取CDATA结点内容

对于CDATA类型的内容,转换是透明的,你直接获取value就行使用 dom4j 解析 XML dom4j 是一种解析 XML 文档的开放源代码 XML 框架。本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档。 dom4j API 包含一个解析 XML 文档的工具。本文中将使用这个解析器创建一个示例 XML 文档。清单 1 显示了这个示例 XML 文档,catalog.xml。 清单 1. 示例 XML 文档(catalog.xml) 《journal title=“XML Zone“ publisher=“IBM developerWorks“》 Marcello Vitaletti 然后使用同一个解析器修改 catalog.xml,清单 2 是修改后的 XML 文档,catalog-modified.xml。 清单 2. 修改后的 XML 文档(catalog-modified.xml) 《journal title=“XML Zone“ publisher=“IBM developerWorks“》 Ayesha Malik 与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持。DOM 解析器不支持使用 XPath 选择节点。 本文包括以下几个部分: 预先设置 创建文档 修改文档 预先设置 这个解析器可以从

java dom4j解析xml 的编程思想是什么

就是把整个XML当成一颗document树来解析,每棵树的主干,就相当于根标签,根标签下面的其他标签就相当于树的一个节点,或者说分支,LZ你该去学的是XML的DOM的编程,dom4j只是别人写的好的工具而已,你可以用dom4j去解析XML文本,结果,你要什么结果,别人写这个工具的时候怎么知道你要从哪个XML文档里面得到哪些内容呢,所以都提供好的一些API给你自己去调用,通过这些API你就可以得到一个XML文档里面的任意内容了,你要调用dom4j里面的API去查,例如Document.getRootElement(),这个方法就可以帮你得到根节点,。说好的是解析,又怎么会存入数据库呢。

dom4j api(java的xml引擎中,dom4j和jdom有什么区别)

本文编辑:admin

更多文章:


debian安装docker(如何在docker中安装ubuntu系统)

debian安装docker(如何在docker中安装ubuntu系统)

本文目录如何在docker中安装ubuntu系统如何在Ubuntu14.04上搭建私有docker registry怎样在阿里云上安装docker如何在docker中安装ubuntu系统前提条件Docker要求是64位Ubuntu(无论哪个

2025年3月3日 07:30

数据结构考研(数据结构考研是什么专业)

数据结构考研(数据结构考研是什么专业)

本文目录数据结构考研是什么专业考研数据结构需要背代码吗2022中南大学考研计算机数据结构难度吗考研数据结构通用的吗数据结构考研用什么参考书好啊考研《数据结构》严蔚敏是哪本,严蔚敏的书也有很多版本求鉴定数据结构考研是什么专业数据结构是工科计算

2025年3月24日 09:10

kubuntu和ubuntu(直接安装kubuntu和先装ubuntu再装个KDE桌面有什么区别)

kubuntu和ubuntu(直接安装kubuntu和先装ubuntu再装个KDE桌面有什么区别)

本文目录直接安装kubuntu和先装ubuntu再装个KDE桌面有什么区别kubuntu和ubuntu选择Kubuntu Xubuntu Lubuntu有什么区别ubuntu kubuntu xubuntu有什么区别他们中那个3D效果最好k

2025年2月17日 04:10

安卓app下载链接(安卓手机除了迅雷什么还可以下载磁力链接国内的软件)

安卓app下载链接(安卓手机除了迅雷什么还可以下载磁力链接国内的软件)

本文目录安卓手机除了迅雷什么还可以下载磁力链接国内的软件请问如何得到安卓市场文件下载链接的url安卓手机老是出现下载APP的链接怎么回事安卓软件下载地址获取怎么找到安卓应用宝应用程序下载链接地址电脑上如何下载安卓手机的软件安卓手机除了迅雷什

2025年2月16日 05:20

数据库文档生成工具(如何使用动软代码生成器连接oracle生成数据库设计文档)

数据库文档生成工具(如何使用动软代码生成器连接oracle生成数据库设计文档)

本文目录如何使用动软代码生成器连接oracle生成数据库设计文档怎么把SQL数据库表的结构导出到Word什么数据库软件可生成.mdb数据库文件如何运用powerDesigner生成数据库文件或者javaBeancodegen 代码生成器怎么

2025年4月1日 09:50

动态css教程(如何动态加载外部CSS与JS文件)

动态css教程(如何动态加载外部CSS与JS文件)

本文目录如何动态加载外部CSS与JS文件如何动态改变css的内容asp.net怎么实现动态添加css样式CSS 动态样式怎么实现如何用css实现网页的动态效果如何用纯css制作动态网页效果如何动态设置CSS样式CSS动态文本怎么做如何动态加

2025年3月5日 03:20

架设邮件服务器(电子邮件服务器的架设方法)

架设邮件服务器(电子邮件服务器的架设方法)

本文目录电子邮件服务器的架设方法怎么使架设邮件服务器公司自己架设邮件服务器,需要准备哪些东西~~~请详细说明一下谢谢~~~~如何架设邮件服务器怎样申请域名架设邮件服务器如何用IIS搭建邮件服务器电子邮件服务器的架设方法用 Win2003 架

2025年3月27日 16:10

任何的任意的英文(任意的的英语翻译 任意的用英语怎么说)

任何的任意的英文(任意的的英语翻译 任意的用英语怎么说)

本文目录任意的的英语翻译 任意的用英语怎么说“随意”英文怎么说三者或三者以上的“任何一个”的英语是什么任何用英文怎么说任何的英语单词怎样写“任何人”的英文是什么“随便”的英文怎么说任意的的英语翻译 任意的用英语怎么说任意的 每一个属性

2025年2月16日 00:50

android难学吗(android好学么没有基础可以学习android开发吗)

android难学吗(android好学么没有基础可以学习android开发吗)

本文目录android好学么没有基础可以学习android开发吗如何学好Androidandroid手机开发难学吗学习android开发难吗android开发难学吗android好学么没有基础可以学习android开发吗首先Android不

2025年4月2日 07:20

visualsvn server使用教程(linux怎么visualsvn server)

visualsvn server使用教程(linux怎么visualsvn server)

本文目录linux怎么visualsvn server在vs上 怎么用visualsvn server怎样重装VisualSVNServer如何对VisualSVN Server进行配置及其使用方法visualsvn server怎么用vi

2025年2月14日 08:20

ram与rom的区别(RAM和ROM有什么区别)

ram与rom的区别(RAM和ROM有什么区别)

本文目录RAM和ROM有什么区别rom和ram的主要区别是RAM和ROM的区别是什么ROM与RAM的区别RAM和ROM有什么区别RAM:即随机存取存储器(randomaccessmemory)又称作“随机存储器“,特点是断电时将丢失所有保存

2025年2月19日 03:50

文件系统ntfs(windows10使用什么文件系统)

文件系统ntfs(windows10使用什么文件系统)

本文目录windows10使用什么文件系统U盘文件系统是用NTFS好,还是用FAT32好如何知道自己文件系统格式是NTFS还是FAT32NTFS文件系统是什么介绍一下请教:什么为NTFS文件系统呀怎样才能知道自己的系统是不是NTFS文件系统

2025年2月12日 14:50

4块硬盘做raid5还是10(做raid时,应该选哪几个硬盘)

4块硬盘做raid5还是10(做raid时,应该选哪几个硬盘)

本文目录做raid时,应该选哪几个硬盘4硬盘 RAID0 RAID5 RAID10如何抉择四块硬盘做raid5好还是raid0好4个硬盘,做RAID5好还是做RAID10好4块硬盘(scsi)做raid的话是raid 5 + 1Hot Sp

2025年3月6日 08:10

glue是什么意思啊?glue是什么意思

glue是什么意思啊?glue是什么意思

本文目录glue是什么意思啊glue是什么意思glue是什么意思啊glue: 例句与用法 1. He glued a stamp onto the envelope. 他把邮票贴在信封上。 2. The kids glue

2025年3月30日 05:40

使命召唤ol(codol)体验服怎么进去!?codol算不算动视暴雪

使命召唤ol(codol)体验服怎么进去!?codol算不算动视暴雪

本文目录使命召唤ol(codol)体验服怎么进去!codol算不算动视暴雪codol步枪使用心得使命召唤ol(codol)体验服怎么进去!体验服只是在每天下午16:00-20:00开放,其他时间都会显示在维护。登陆界面 ,登陆界面颇有腾讯风

2025年3月2日 04:50

mass挖矿(TMD是什么意思啊)

mass挖矿(TMD是什么意思啊)

本文目录TMD是什么意思啊采矿专业英语翻译TMD是什么意思啊“TMD“是一款3D动作角色扮演类手机网游,其全称为《To Memorable Destiny(致——记忆&宿命)》,也称“TMD”。由文传世纪手游项目团队开发。扩展资料:游戏特色

2025年3月11日 20:50

为什么闲鱼上的一些浪琴那么便宜?怎么鉴定浪琴手表真假

为什么闲鱼上的一些浪琴那么便宜?怎么鉴定浪琴手表真假

本文目录为什么闲鱼上的一些浪琴那么便宜怎么鉴定浪琴手表真假在亨吉利开元钟楼店看了款浪琴,这里买表有保障吗,售后怎么样为什么闲鱼上的一些浪琴那么便宜闲鱼还是有很多正品的,不过要买到正品,还是要有一定的辨识基础。再一个就是不能贪便宜,看好一款表

2025年2月22日 01:30

quotev网站怎么进入(quotev为什么禁止访问啦)

quotev网站怎么进入(quotev为什么禁止访问啦)

本文目录quotev为什么禁止访问啦苹果怎么进quotevivo手机怎么打不开quotev站quotev为什么禁止访问啦网络问题。关于quotev的打开方式有的人可以直接在微博打开跳转,有的人需要把链接复制到浏览器打开。一般QQ浏览器和UC

2025年3月21日 14:30

个人用服务器(个人怎么样合法的使用国外服务器)

个人用服务器(个人怎么样合法的使用国外服务器)

本文目录个人怎么样合法的使用国外服务器企业或个人使用云服务器的原因推荐一个适合个人使用的云服务器你觉得个人使用的服务器电脑应该怎样的比较好服务器是什么服务器可以作为家用电脑使用吗个人服务器怎么做啊如何用自己个人电脑做服务器长期开着当个人服务

2025年3月13日 07:50

电脑ps基础教程?photoshop教程

电脑ps基础教程?photoshop教程

本文目录电脑ps基础教程photoshop教程photoshop CS6视频教程全集下载ps cs6全视频教程PS小白,有无好的PS课程推荐ps钢笔工具怎么抠图 ps新手入门教程 ps自学网电脑ps基础教程这个不是一句话,两句话能说清的,还

2025年3月28日 10:50

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索