了解 XML实现通用的数据访问(3)_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:XML卷之实战锦囊(1)——动态排序
排序功能让我们页面上的数据显的更人性化,是我们在网站上见过的很普遍的一个功能效果了。以往的自动排序都是用大量的脚本代码来完成的,对一般的爱好者来说这是件困难的事情。然而用XML来处理

XML 查询

在有些情况下,使用 API 从 XML 文档中提取信息可能会过于烦琐,这或者是由于查找数据的条件过于简略,或者是由于 API 未能呈现用于特定查询的 XML 文档的特定内容。XML 查询语言(如 XPath 1.0 和即将发布的 XQuery)都提供了从 XML 信息集中提取信息的丰富机制。

以下示例显示了如何使用 XPath 获取items元素中第一个compact-disc的艺术家姓名和标题。

以下为引用的内容:

using System;
using System.XML.XPath;

public class Test{

public static void Main(string[] args){

XPathDocument doc = new XPathDocument("test.XML");
XPathNavigator nav = doc.CreateNavigator();

XPathNodeIterator iterator = nav.Select("/items/compact-disc[1]/artist | /items/compact-disc[1]/title");

iterator.MoveNext();
Console.WriteLine("Artist={0}", iterator.Current);

iterator.MoveNext();
Console.WriteLine("Title={0}", iterator.Current);

}
}

XML 转换

用户经常需要将 XML 文档从一个词汇表转换到另一个词汇表。这样做有时是为了以便于打印的格式或在 Web 浏览器中呈现文档,有时是可能需要将从外部实体接收的文档转换为较为熟悉的格式。

XSLT 是一种优秀的 XML 转换语言。XSLT 中阐述的转换说明了将源树转换为结果树的规则。转换通过关联模式和模板来完成。一个模式是一个 XPath 表达式,可以将其视为与 XML 源树的部分相匹配的正则表达式,与字符串的匹配部分相对。模式与源树中的元素进行匹配。成功匹配后,模板成为创建结果树部分的例示。在构建结果树时,可以对源树中的元素进行筛选和重新排序,还可以添加任意结构。

以下 XSLT 样式表将items元素转换为包含光盘信息表的 XHTML Web 页。

以下为引用的内容:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" XMLns="http://www.w3.org/1999/xhtml">

<xsl:output method="XML" indent="yes"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />


<xsl:template match="/">

<html lang="en" XML:lang="en">
<head>
<title>Order Information - ord123456</title>
</head>
<body>
<table border="1">
<tr><th>Artist</th><th>Title</th><th>Price</th></tr>

<xsl:for-each select="items/compact-disc">
<tr>
<td><xsl:value-of XMLns="" select="artist" /></td>
<td><xsl:value-of XMLns="" select="title" /></td>
<td><xsl:value-of XMLns="" select="price" /></td>
</tr>
</xsl:for-each>

</table>
</body>
</html>

</xsl:template>

</xsl:stylesheet>

XHTML 文档由如下所示的样式表生成:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" XMLns="http://www.w3.org/1999/xhtml">
<head>
<title>Order Information - ord123456</title>
</head>
<body>
<table border="1">
<tr>
<th>Artist</th>
<th>Title</th>
<th>Price</th>
</tr>
<tr>
<td>Nelly</td>
<td>Nellyville</td>
<td>16.95</td>
</tr>
<tr>
<td>Baby D</td>
<td>Lil Chopper Toy</td>
<td>17.55</td>
</tr>
</table>
</body>
</html>

它在 Web 浏览器中如下所示。

Artist Title Price

Nelly Nellyville 16.95

Baby D Lil Chopper Toy 17.55

小结

XML 不仅是一种描述文档的文本格式,还是一种描述结构化和半结构化数据的机制,提供了处理此类数据所需的一系列技术。像 XML 信息集等强大的提取功能将帮助我们使用 XML 技术更好地处理非文本数据,如文件系统、Windows&reg; 注册表、关系数据库,甚至是编程语言对象。XML 使我们向实现通用的数据访问又迈进了一步。

分享:利用XML开发留言板简单的例子
XML是一种基于文本格式的元标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离(xml xsl),而且是与平台无关的。 由于XML注重数据内容的描述,因而,对于数据的检

共3页上一页123下一页
来源:模板无忧//所属分类:Xml教程/更新时间:2008-08-22
相关Xml教程