首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

自各儿动手写搜索引擎(常搜吧历程四#解析文档之XML#)(Java、Lucene、hadoop)

2013-03-21 
自己动手写搜索引擎(常搜吧历程四#解析文档之XML#)(Java、Lucene、hadoop)今天我们来进行对XML的学习。认识XM

自己动手写搜索引擎(常搜吧历程四#解析文档之XML#)(Java、Lucene、hadoop)

今天我们来进行对XML的学习。

认识XML

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的有点,但正式这点使XML与众不同。

XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式。

XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。

为了是的SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。

我们先来个Hello world。

package com.qianyan.xml;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class TestXMLDemo2 {public void myXMLpath() throws Exception{File file = new File("src/book.xml");SAXReader xreader = new SAXReader();Document doc = xreader.read(file);Element root = doc.getRootElement();//List list = root.selectNodes("//cbook[@cid='0002']"); //查找特定标签元素cbook//List list = root.selectNodes("//cbook"); //查找任意位置的cbookList list = root.selectNodes("/booklist/cbook"); //查找booklist下的cbookfor(int i = 0; i < list.size(); i++){Element node = (Element)list.get(i);System.out.println(node.getText());}}public static void main(String[] args) throws Exception {TestXMLDemo2 txmldemo = new TestXMLDemo2();txmldemo.myXMLpath();}}


关于这部分 w3c 有更详细的文档及案例说明,有兴趣的朋友可以w3c了解更多关于xml的知识。


热点排行