xml数据库教程4
- 格式:doc
- 大小:645.50 KB
- 文档页数:4
W3C School教程XML系列教程如果对大家有帮助,me会继续为大家分享。
XML简介什么是XML?XML指可扩展标记语言(E Xtensible M arkup L anguage)XML是一种标记语言,很类似HTMLXML的设计宗旨是传输数据,而非显示数据XML标签没有被预定义。
您需要自行定义标签。
XML被设计为具有自我描述性。
XML是W3C的推荐标准XML与HTML的主要差异XML不是HTML的替代。
XML和HTML为不同的目的而设计:XML被设计为传输和存储数据,其焦点是数据的内容。
HTML被设计用来显示数据,其焦点是数据的外观。
HTML旨在显示信息,而XML旨在传输信息。
没有任何行为的XMLXML是不作为的。
也许这有点难以理解,但是XML不会做任何事情。
XML被设计用来结构化、存储以及传输信息。
下面是John写给George的便签,存储为XML:<note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>这个标签有标题以及留言。
它也包含了发送者和接受者的信息。
但是,这个XML文档仍然没有做任何事情。
它仅仅是包装在XML标签中的纯粹的信息。
我们需要编写软件或者程序,才能传送、接收和显示出这个文档。
XML仅仅是纯文本XML没什么特别的。
它仅仅是纯文本而已。
有能力处理纯文本的软件都可以处理XML。
不过,能够读懂XML的应用程序可以有针对性地处理XML的标签。
标签的功能性意义依赖于应用程序的特性。
通过XML您可以发明自己的标签上例中的标签没有在任何XML标准中定义过(比如<to>和<from>)。
也是一个元素,元素除了包含元素还可以包含文本信息。
元素也可以含有属性,比如property就具有name属性。
XML 元素可以在开始标签中包含属性,属性 (Attribute) 提供关于元素的额外(附加)信息。
属性通常提供不属于数据组成部分的信息,但是对需要处理这个元素的应用程序来说却很重要。
XML 属性必须加引号,属性值必须被引号包围,不过单引号和双引号均可使用。
如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。
1.2.3. 大小写敏感XML对大小写是敏感的,这一点不象HTML。
在XML中,标记< Letter> 和标记 <letter> 是不一样的。
因此,打开和结束标记的大小写应该写成相同的:1.2.4. 元素必须有关闭标签XML要求每个元素必须由起始标签和关闭标签组成。
关闭标签与起始标签的名字相同,写法上多一个“/”例如:<Letter> 只有起始标记是不行的。
<Letter></Letter> 必须要有关闭标签1.2.5. 必须有根元素XML要求必须有根元素,所谓根元素就是不被其它元素包围(不含有父元素)。
并且根元素只能有一个。
01.<d a t a s o u r c e i d ="d b _o r a c l e "> 02.…03. </d a t a s o u r c e >01.<l e t t e r >…</l e t t e r >02. <L e t t e r >…</L e t t e r >01.<d a t a s o u r c e i d =“d b _o r a c l e ”> 根元素 02.<p r o p e r t y n a m e ="u r l ">03.j d b c :t h i n @192.168.0.26:1521:t a r e n a 04.</p r o p e r t y >05.<p r o p e r t y n a m e ="d b U s e r ">o p e n l a b </p r o p e r t y >06. <p r o p e r t y n a m e ="d b P w d ">o p e n 123</p r o p e r t y >07.</d a t a s o u r c e>08.这里不能再定义与d a t a s o u r c e平级的元素!1.2.6. 元素必须正确嵌套XML要求所有元素必须正确的嵌套。
xml格式数据标签详解XML(可扩展标记语言)是一种标记语言,它允许开发人员自定义标记来描述数据。
为了使XML文档易于阅读和理解,文档需要分类和标记,这就需要使用标签。
下面是一些XML数据标签的详细解释。
1. <?xml?> 标签:XML文档都必须以此标签作为开头,并指定XML版本及编码方式。
2. 根标签:<root> </root>:XML文档的最外层标签,它包含所有的其他标签。
根标签只能有一个。
3. 元素标签:<element> </element>:XML中最基本和重要的标签,用于表示数据的值。
元素标签可以嵌套其他标签。
4. 注释标签:<!-- -->:用于在XML数据中添加注释信息,不会被解析器处理。
5. 属性标签:<element attribute="value"> </element>:用于给元素标记添加属性值,属性标签必须放在元素标签的开始标记中,并用逗号分隔多个属性。
6. CDATA标签:<![CDATA[ ]]>:用于在XML文档中放置纯文本数据而不进行解析,这种标签内的数据会被原样保留。
7. 处理指令标签:<?name value?>:用于在XML文档中指定一系列的处理指令,比如XML格式的样式表。
8. 命名空间标签:xmlns:用于创建XML文档的命名空间,以便区分来自不同来源或模块的数据。
以上就是XML格式的数据标签的详细解释。
这些标签可以帮助开发人员更好地描述和组织XML文件中的数据。
closedxml使用手册摘要:1.引言2.closedxml简介3.closedxml的安装与配置4.closedxml的基本操作4.1 创建和读取XML文档4.2 添加和修改XML元素和属性4.3 删除和移动XML元素和属性5.closedxml的高级操作5.1 遍历和筛选XML元素5.2 导入和导出XML数据5.3 处理XML数据的分组和排序6.closedxml的应用场景6.1 数据存储和交换6.2 数据处理和分析6.3 界面设计和开发7.closedxml的优缺点8.结论正文:closedxml使用手册closedxml是一款强大的开源XML处理库,它支持读取、创建、修改、删除等操作XML文档,并且提供了丰富的API,方便开发者进行各种XML数据处理任务。
2.closedxml简介closedxml是一个基于C#编写的.NET平台下的XML处理库,它提供了简单易用的API,允许开发者轻松地操作XML数据。
closedxml支持读取、创建、修改、删除等操作XML文档,并且支持XPath、XQuery等高级XML查询语言。
3.closedxml的安装与配置closedxml的安装非常简单,只需要使用NuGet包管理器进行安装即可。
在Visual Studio中,打开解决方案资源管理器,右键单击项目名称,选择“管理NuGet程序包”,搜索“closedxml”,然后安装即可。
4.closedxml的基本操作closedxml提供了丰富的API,允许开发者进行各种XML数据处理任务。
4.1 创建和读取XML文档要创建一个XML文档,可以使用`XElement`类,例如:```csharpXElement root = new XElement("root");```要读取一个XML文档,可以使用`XDocument`类,例如:XDocument doc = XDocument.Load("example.xml");```4.2 添加和修改XML元素和属性要添加一个XML元素,可以使用`XElement`类的`Add`方法,例如:```csharproot.Add(new XElement("element"));```要修改一个XML元素的属性值,可以使用`XElement`类的`SetAttributeValue`方法,例如:```csharproot.Element("element").SetAttributeValue("attribute", "new value");```4.3 删除和移动XML元素和属性要删除一个XML元素,可以使用`XElement`类的`Remove`方法,例如:```csharproot.Element("element").Remove();```要移动一个XML元素,可以使用`XElement`类的`MoveAfter`和`MoveBefore`方法,例如:```csharproot.Element("element").MoveAfter(root.Element("otherElement"));```5.closedxml的高级操作closedxml提供了丰富的API,允许开发者进行各种高级XML数据处理任务。
closedxml使用手册摘要:1.闭包XML 使用手册概述2.闭包XML 的基本概念3.闭包XML 的使用方法4.闭包XML 的实例解析5.闭包XML 的注意事项正文:一、闭包XML 使用手册概述闭包XML 使用手册是一本介绍如何使用闭包XML 进行数据处理和文档操作的教程。
闭包XML 是一种轻量级的XML 库,它提供了许多方便的功能,如数据解析、数据验证、XPath 查询等,使得XML 文档的处理变得更加简单快捷。
二、闭包XML 的基本概念1.闭包XML 库:闭包XML 库是一个基于Java 的XML 处理库,它提供了丰富的API,可以方便地进行XML 文档的解析、验证、查询等操作。
2.XML 文档:XML 文档是一种以XML(eXtensible Markup Language,可扩展标记语言)格式编写的数据文件。
XML 文档具有严格的结构,由一系列的元素和属性组成。
3.XPath:XPath 是一种用于查询XML 文档的表达式语言,它可以帮助我们快速定位到XML 文档中的特定数据。
三、闭包XML 的使用方法1.引入闭包XML 库:在使用闭包XML 之前,需要先引入闭包XML 库到项目中。
2.解析XML 文档:使用闭包XML 库提供的API,可以方便地对XML 文档进行解析,将XML 文档转换为Java 对象。
3.验证XML 文档:闭包XML 库提供了XML 文档验证功能,可以检查XML 文档是否符合预期的结构和规范。
4.使用XPath 查询:通过闭包XML 库,我们可以使用XPath 表达式来查询XML 文档中的数据,快速定位到需要的信息。
四、闭包XML 的实例解析以下是一个使用闭包XML 库解析XML 文档的实例:```javaimport com.closedxml.parser.Parser;import com.closedxml.parser.xml.XmlParser;import com.closedxml.data.XElement;public class Main {public static void main(String[] args) {String xmlString ="<root><element1>value1</element1><element2>value2</element2 ></root>";Parser parser = new XmlParser();XElement xElement = parser.parse(xmlString);System.out.println("Root: " + xElement.getName());System.out.println("Element1: " +xElement.element("element1").textTrim());System.out.println("Element2: " +xElement.element("element2").textTrim());}}```五、闭包XML 的注意事项1.在使用闭包XML 库时,需要确保XML 文档的结构和格式符合规范,否则解析过程可能会出错。
《XML使用指南》1 国际化和本地化原则1.1 XML文档编码GB/T 18793-2002规定,XML文档可以使用以下编码字符集:●GB 18030-2000●GB 13000-x●GB 2312-1980●其它XML处理器支持的编码字符集在GB/T 18793-2002中,缺省字符集规定为GB 13000-x(GB 13000.1-93 idt ISO/IEC 10646.1:1993),亦称为通用字符集(Universal Character Set,UCS)。
UnicodeUnicode是由Unicode协会(Unicode Consotium)制定的通用字符集。
其主要目的是为纯文本内容提供一套无歧义的编码,以方便全球各种语言文字的转换。
在W3C的XML 1.0中,大量使用了Unicode。
其2004年发布的XML 1.1中作了更新,使XML不再依赖于Unicode的特定版本。
由于GB/T 13000.1-93与Unicode(2.0版本以上)是完全兼容的。
UCS通用字符集(Universal Character Set,UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的字符编码方式,定义了一个31位的字符集。
通用字符集又称Universal Multiple-Octet Coded Character Set,中国大陆译为通用多八位编码字符集UCS包含了已知语言的所有字符。
除了拉丁语、希腊语、斯拉夫语、希伯来语、阿拉伯语、亚美尼亚语、格鲁吉亚语,还包括中文、日文、韩文这样的象形文字,UCS 还包括大量的图形、印刷、数学、科学符号。
UCS不仅给每个字符分配一个代码,而且赋予了一个正式的名字。
表示一个UCS或Unicode值的十六进制数通常在前面加上“U+”,例如“U+0041”代表字符“A”。
ISO/IEC 10646-1标准第一次发表于1993年,现在的公开版本是ISO/IEC 10646-1:2000。
将XML文件导入到Oracle数据库中的思路一、程序源码前台代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImportData.aspx.cs" Inherits="ImportData" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>将Xml文件导入到数据库</title></head><body><form id="form1" runat="server"><div><TABLE id="Table1" cellSpacing="3" cellPadding="3" bgColor="#99ccff" border="0"><TR><TD align="center" colSpan="2"><STRONG><FONT size="6">读取Xml,导入Oracle并显示</FONT></STRONG></TD></TR><TR><TD colSpan="2"><FONT size="2">读取Xml文件中的内容,并将其内容导入到Oracle数据库</FONT></TD></TR><TR><TD bgColor="#cccccc" style="width: 129px; height:27px;"><FONT size="2"><strong>请输入Xml文件名</strong></FONT></TD><TD bgColor="#cccccc" style="height: 27px"><asp:TextBox ID="textBoxXml" runat="server"Font-Names="Arial" Font-Size="X-Small"Width="500px"></asp:TextBox></TD></TR><TR><TD colSpan="2" style="height: 18px"><asp:Label id="Message" runat="server" Font-Bold="True" Font-Size="X-Small" ForeColor="Red"></asp:Label></TD></TR><TR><TD style="width: 129px; height: 17px"></TD><TD style="height: 17px"><asp:Button id="buttonSubmit" runat="server"Text="Submit" OnClick="buttonSubmit_Click"></asp:Button></TD></TR></TABLE><br /><strong><span style="color: #0066ff">测试从Xml文件是否能成功读取数据</span><br /><asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"><FooterStyle BackColor="#990000" Font-Bold="True"ForeColor="White" /><RowStyle BackColor="#FFFBD6" ForeColor="#333333" /><SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /><PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" /><HeaderStyle BackColor="#990000" Font-Bold="True"ForeColor="White" /><AlternatingRowStyle BackColor="White" /></asp:GridView></strong></div>后台代码:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.OracleClient;using System.Data.OleDb;public partial class ImportData : System.Web.UI.Page{protected DataSet dataSetXml;protected DataTable dataTableXml;protected string tableName;protected string strConn =System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"] .ConnectionString;protected void Page_Load(object sender, EventArgs e){}protected void buttonSubmit_Click(object sender, EventArgs e){OracleConnection conn = new OracleConnection(strConn);conn.Open();Message.Text = "";dataSetXml = new DataSet();dataTableXml = new DataTable();try{dataSetXml.ReadXml(HttpContext.Current.Server.MapPath(textBoxXml.Te xt)); //装载XML文件到DataSetdataTableXml = dataSetXml.Tables[0]; //得到DataSet的第一个表tableName = textBoxXml.Text.Substring(0, textBoxXml.Text.Length - 4); //生成表名GridView1.DataSource = dataTableXml.DefaultView;GridView1.DataBind();}catch{Message.Text = "不能打开Xml文件或者是Xml文件格式错误";}if (dataTableXml.Rows.Count > 0) //检查是否有数据存在(ROWS){TableCheck(); //在数据库中建表TableInsert(); //添加XML数据到数据库}conn.Close();}#region 在数据库中建表private void TableCheck(){OracleConnection conn = new OracleConnection(strConn);try{conn.Open();int count = 0;DataTable schemaTable = conn.GetSchema("TABLES", new string[] { "SCOTT", tableName });string sqlCmd = "";if (schemaTable.Rows.Count == 1) //检查表是否存在,如果存在在DataTable 中将有一条记录// if (schemaTable.Rows.Count <1) 若这样写的话,程序运行无误,但只是导入了XML的表字段,没有导入数据{sqlCmd = "create table " + tableName + "(";// sqlCmd = "create table " + tableName + "(";for (int i = 0; i < dataTableXml.Columns.Count; i++){// 添加列text/string type 长度 100sqlCmd += dataTableXml.Columns[i].ColumnName.ToString() + " varchar2(100),";}sqlCmd = sqlCmd.Substring(0, sqlCmd.Length - 1) + ")";//删除最后一个“,”符号OracleCommand createcmd = new OracleCommand();createcmd.Connection = conn;mandText = sqlCmd;createcmd.ExecuteNonQuery();}}catch{Message.Text = "SQL命令或语句连接出问题";}finally{conn.Close();}}#endregion#region 添加XML数据到数据库private void TableInsert(){OracleConnection conn = new OracleConnection(strConn);try{conn.Open();// 遍历DataTable中的Rowsforeach (DataRow dr in dataTableXml.Rows){string sqlCmd = "Insert Into " + tableName + "(";// string sqlCmd = "Insert Into [ " + tableName + "] (";// 遍历Datatable的列for (int i = 0; i < dataTableXml.Columns.Count; i++){//添加列的字段名sqlCmd += dataTableXml.Columns[i].ColumnName.ToString() + ","; }sqlCmd = sqlCmd.Substring(0, sqlCmd.Length - 1) + ") Values(";// 遍历Datatable的列for (int i = 0; i < dataTableXml.Columns.Count; i++){//添加列值到rowsqlCmd += "'" + dr[i].ToString() + "',";}sqlCmd = sqlCmd.Substring(0, sqlCmd.Length - 1) + ")";OracleCommand cmd = new OracleCommand(sqlCmd, conn);cmd.ExecuteNonQuery();}Message.Text = "Xml文件中的数据成功加载到数据库中!";}catch{Message.Text = "在添加数据时产生了错误!";}finally{conn.Close();}}#endregion}二、XML文件导入oracle数据库思路(程序读解)1、将XML文件装载进DataSet,并得到第一个表,这个表就是我们要加入到数据库的DataTable;接下来,去除XML文件的扩展名,文件名字去掉扩展名将是我们数据库中使用的表名。
xml数组结构XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。
在XML中,数组结构是一种常见的数据组织方式,它使得数据可以按照有序的方式存储和传递。
本文将深入探讨XML数组结构的定义、用法以及在实际应用中的案例。
一、XML数组结构的定义1.1 XML基础概念XML使用标签将数据组织成树形结构,标签可以包含属性和值。
数组结构在XML中通常通过元素嵌套来实现。
1.2 数组结构的表示方式在XML中,数组结构可以使用以下方式表示:<array><item>Value 1</item><item>Value 2</item><!--更多的item元素--></array>上述XML片段中,<array> 元素包含多个<item> 元素,每个<item> 元素都包含一个数值。
二、XML数组结构的用法2.1 有序存储XML数组结构的主要优势之一是它可以有序存储数据。
通过定义多个相同类型的元素,可以确保数据的顺序性,使其易于读取和理解。
2.2 多层次结构XML数组结构可以嵌套多层,形成复杂的数据结构。
这使得XML非常适用于表示层次性强的数据,例如树形结构。
2.3 数据类型灵活XML并不要求数组中的元素是相同的数据类型。
这种灵活性使得XML 数组能够存储各种类型的数据,从简单的文本到复杂的嵌套结构。
三、XML数组结构的实际案例3.1 配置文件XML数组结构常被用于配置文件,例如:<config><server><address>192.168.1.1</address><port>8080</port></server><database><host>localhost</host><user>admin</user><password>secret</password></database></config>这样的结构清晰地表示了不同配置项之间的关系。
sql xml中的modify用法SQL中的XML是指在数据库中存储和操作XML文档,XML在数据库中广泛应用于数据交换和Web服务。
XML文档根据其结构和元素,可以通过SQL语句内置的XML函数进行查询、更新、删除等操作。
XML中的modify是XML修改操作的一种方法,本文将详细介绍SQL中的modify用法。
I. Modify函数的作用在SQL中,Modify函数是用来修改XML文档的一种函数,通过该函数可以实现添加、删除、替换、移动、复制等功能。
Modify函数一般用于更新XML文档中的节点,然后将修改后的节点重新保存回数据库中。
SQL中Modify函数的语法如下:modify (XML DML)其中,XML DML是XML数据修改语言(XML Data Modification Language)的缩写,它是SQL Server和Oracle数据库中一种特殊的语言,用于操作XML文档中的节点及其属性。
1. 添加节点Modify函数可以使用insert子句在XML文档中添加节点,其语法如下:modify(insert XPath '内容' [before/after location])其中,XPath表示要添加节点的位置,‘内容’表示要添加的节点内容,[before/after location]表示在某个节点之前或之后添加。
示例如下:2. 删除节点modify(delete XPath)其中,XPath表示要删除的节点位置。
--删除id为1的数据中,xpath为/data/row[2]UPDATE table1 xmldata.modify('delete (/data/row[2])')3. 替换节点其中,XPath是要替换的节点位置,'新节点内容'是替换后节点的内容。
4. 移动节点5. 复制节点1. Modify函数只能用于XML文档的修改操作,不能用于读取操作,但是SQL内置的其他XML函数可以读取XML文档中的内容。
XML概述为什么要学xml?1)XML 是一种通用的数据交换格式2)许多系统的配置文件都使用XML格式3)JSP文档也逐步向XML格式过渡4)许多项目都使用XML作为数据交换格式5)掌握XML是软件开发人员的一项基本技能1.1 XML的起源与作用我们知道,Internet广泛用于信息通信与交换。
既然现在的多数业务都是通过Web 进行的,则有必要在全世界的不同平台上共享数据。
Web应用程序以与所有平台兼容的格式展示数据是非常重要的。
XML就是这样的一种语言,它为描述数据提供了一种格式。
目前许多系统的配置文件都使用XML格式。
什么是配置文件?配置文件就是记录应用程序配置信息的文件。
例如,某个程序要连接网络上的数据库系统时,需要指定数据库服务器的IP地址,服务器的网络监听端口号,数据库的名称,用户名和密码等信息,这些信息可以作为应用程序的配置信息来对待,即不要将这些信息写死在源程序中,而是写在一个文本文件中。
应用程序要连接数据库系统时,从该文本文件中读取所需要的信息,如果连接的数据库系统的信息发生了改变,则只需要修改该文本文件,而不用修改源程序,这个文本文件就是应用程序的配置文件。
传统的配置文件通常采用如下格式:#Db.PropertiesDBServer=192.168.0.100Port=1443Database=empUsername=xxxPassword=123上面这种格式的配置文件只能表述一些简单的信息,而很难表达具有层次结构和数据项目要动态增加的信息。
例如,如果要在一个文件中表达出“一个国家中的每个省及省长的名称,每个省下面的每个市及市长的名称,每个市下面的每个镇及镇长名称”,则上面使用的格式就很难表达。
采用XML格式的配置文件很容易表达出这种层次结构。
比较HTML和XML 标记语言XML和HTML一样,都衍生于SGML(Standard Generalized Markup Language,标准通用化标记语言)。
第4章X-RESTORE下的XML查询4.1 XPath路径表达式
4.2 X-RESTORE中XPath路径表达式的有效计算
图4-1XML路径表达式查询的执行计划
2
电子商务基础教程(第二版)
4.3转换XPath路径表达式到SQL查询4.3.1产生XPathExpr图
图4-2路径表达式(4-3)的XPathExpr图
图4-3一个路径表达式的初始XPathExpr图
网络工程技术与实验教程 3 4.3.2根据XPathExpr图产生SQL查询
4.3.3有效地处理XPath函数
1. 数值函数
2. 字符串函数
3. 布尔函数
4. 结点函数
5. 序列函数
6. 上下文函数
4.4实验结果
参考文献
1. World Wide Web Consortium. XML Path Language (XPath) Version 1.0. W3C Recom-mendation. 16 November 1999. /TR/xpath
2. World Wide Web Consortium. XML Path Language (XPath) 2.0. W3C Working Draft. 23 July 2004. http://www.w
/TR/xpath20
3. Yoshikawa M, Amagara T, Shimura T, et al. XREL: A Path Based Approach to Storage and Retrieval of XML documents using Relational Databases. ACM Transactions on Internet Tech-nology (TOIT). 2001, 1(1): 110~141
4
电子商务基础教程(第二版)
4. Al Khalifa S, Jagadish H V, Koudas N, et al. Structural Joins: A Primitive for Efficient XML Query Pattern Matching. In: Hiong Ngu A H et al Eds. Proceedings of the 18th IEEE ICDE International Conference on Data Engineering. San Jose, California, USA. February 26 March 1, 2002. Los Alamitos: IEEE Computer Society, 2002. 141~152
5. Chien S Y, Vagena Z, Zhang Donghui, et al. Efficient Structural Joins on Indexed XML Documents. In: Papadias D et al Eds. Proceedings of the 28th VLDB International Conference on Very Large Database. Hong Kong, China. August 20-23, 2002. San Francisco: Morgan Kaufmann Publishers, 2002. 263~274
6. 万常选, 林大海. 基于X-RESTORE有效地处理XPath路径表达式. 见: 第20届全国数据库学术会议论文集. 重庆: 计算机科学, 2003. 12~16。