XML和Java: 数据绑定多种用法
本文并不是介绍解决方案,而是介绍了一些讨论主题,鼓励您思考如何使用 XML 和数据绑定……
除将 XML 用作一种简单数据格式之外,数据绑定是 XML 最流行的用法之一。即使刚刚入门的程序员也能在一种原生编程语言中使用 XML,并且在大多数情况下完全不需要任何的 XML 专门知识。本文并不是介绍解决方案,取而代之,Brett 介绍了一些讨论主题,鼓励您思考如何使用 XML 和数据绑定。
XML 用于业务而非技术
随着 XML 的日趋盛行,人们也越来越注重可用性。换句话说,程序员和管理者并不希望把 XML 看作是一项技术,拥有自己的语义和词汇结构,而认为它更像是纯粹的数据,访问时不用担心 XML 数据格式的细节。
完成 XML 从技术到业务格式的转换,最简单是方法就是数据绑定,这种说法还有待论证。数据绑定就是使用应用程序编程接口(Application Programming Interface,API)操作 XML 文档中的数据,这样程序员就不必过多地了解 XML,不必使用角括号,或者考虑 CDATA 部分或实体引用等等之类的事情。但即使是使用数据绑定,您也会发现在继续操作之前有大量的选项和重要问题需要仔细考虑。
出于本文讨论的目的,我将介绍两个与数据绑定相关的基本问题:
- 通过数据绑定 API 表示数据的方法。
- 当数据被视为业务数据时的用法。
表示 XML 数据
在最普通的情况下,数据绑定就是将 XML 文档中的数据转换成正在使用的编程语言中的对象。
用于数据绑定的基于对象的 API
比方说,查看下面这段 XML 代码:
| <person> <firstName>Brett</firstName> <lastName>McLaughlin</lastName> <email>brett@newInstance.com</email> </person> |
我们可以将这段代码转换成对象,比方说在 Java™ 代码中,这是一个 Person 类的实例,拥有成员变量 firstName、lastName 和 email。实例应该包含代码段中的数据,并且能通过方法调用访问该数据,例如 myPerson.getFirstName() 方法。
用于数据绑定的基于文档的 API
尽管这是最常见的数据绑定方法,但是使用 XML 文档并把整个文档表示成一个对象的 API 也是数据绑定的一种形式。这些 API 包括文档对象模型(Document Object Model,DOM)、JDOM 和 dom4j,所有这些 API 都用于在 Java 编码中创建 XML 文档的对象模型。
在这些模型中,我们使用 rootElement.getChild("firstName").getValue() 之类的调用(或者与之相似的调用,取决于 API 的细节)。虽然这确实需要一些 XML 的基础知识(理解元素是什么以及文档的基本结构),但还是对程序员抽象了解析的细节。这就是数据绑定的本质:能够更多地注意到数据而不是数据显示的格式。
- 本文关键词:

