第12章JSP与XML 关于XML ⅪMⅦ是一种类似HTML标签语法的纯文字格式文件,使用一般的文字编辑器(例 如 Notepad)就可以对其内容进行编辑,下面是一个记录会员数据的XML文件范例 1001管正 02-35330000 jack atestMail com tw 1002 方峻 02-35331111 tim(@atestMail com tw /customer> JSP动态网页新技术
第12章JSP与XML JSP 动态网页新技术 1 关于XML XML是一种类似HTML标签语法的纯文字格式文件,使用一般的文字编辑器(例 如Notepad)就可以对其内容进行编辑,下面是一个记录会员数据的XML文件范例 : 1001 管正 02-35330000 jack@testMail.com.tw 1002 方峻 02-35331111 tim@testMail.com.tw
第12章JSP与XML XML相关技术 除了本身的语法之外,还必须了解其相关技术,例如DID、DOM 和ⅹSL,这些广泛的技术均是为了XML的使用而发展出来。 >文件对象模型- Document Object Model(DOM) DOM是一种使用于文件的操作与结构定义的技术,它以API的 形式供XML文件使用,就如同文本编辑器对于一般文本文件 用戶可以利用DOM进行ⅹML文件的编写、浏览以及增删改等 操作 >可扩充样式语言- Extensible stylesheet Language(XSL 这是一种用来定义以及转换XML文件内容格式的XML相关技 术,包含了 XSL Transformations(XSL ⅹ ML Path language ( XPath)以及 XSL Formatting Objects( XSL-FO等三个部份 JSP动态网页新技术 2
第12章JSP与XML JSP 动态网页新技术 2 XML相关技术 ➢ 除了本身的语法之外,还必须了解其相关技术,例如DTD、DOM 和XSL,这些广泛的技术均是为了XML的使用而发展出来。 ➢ 文件对象模型-Document Object Model (DOM) – DOM是一种使用于文件的操作与结构定义的技术,它以API的 形式供XML文件使用,就如同文本编辑器对于一般文本文件。 用户可以利用DOM进行XML文件的编写、浏览以及增删改等 操作 。 ➢ 可扩充样式语言-Extensible Stylesheet Language(XSL) – 这是一种用来定义以及转换XML文件内容格式的XML相关技 术,包含了XSL Transformations (XSLT)、XML Path Language (XPath)以及XSL Formatting Objects (XSL-FO)等三个部份
第12章JSP与XML IAXP与DOM 通过JAXP使用DOM必须载入两个主要的包,ogw3cdom和 javax. xml parsers o orgw3cdom提供定义DOM的相关接口,例如 Document、 Element 以及Node等等与代表各种组成XML树状结构元素的接口。 javax. xml parsers则是包含了orgw3cdom包接口的相关类,提供存 取XML文件所需的实际功能,例如 DocumentBuilderFactory以及 Document Builder等等 JSP动态网页新技术 3
第12章JSP与XML JSP 动态网页新技术 3 JAXP 与DOM ➢ 通过JAXP使用DOM必须载入两个主要的包,org.w3c.dom和 javax.xml.parsers 。 ➢ org.w3c.dom提供定义DOM的相关接口,例如Document、Element 以及Node等等与代表各种组成XML树状结构元素的接口。 ➢ javax.xml.parsers则是包含了org.w3c.dom包接口的相关类,提供存 取XML文件所需的实际功能,例如DocumentBuilderFactory以及 DocumentBuilder等等
第12章JSP与XML DOM与XML 接口与类 说明 javax. xml parsers Document BuilderFactory 用来建立DOM解释器实体对象 Document Builder DOM解释器,用来建立代表XML文 件的 Document org. w3c dom Document 代表XML文件 Node 代表整个XML文件树状结构里面最 原始的数据类型接口,定义处理节点 的相关方法,并由此接口的类所操作 Element 代表XML文件当中的任何一个元素, 同时定义操作元素的方法成员,继承 Node接口 NodeList 代表一个包含一个以上节点的集合接 JSP动态网页新技术
第12章JSP与XML JSP 动态网页新技术 4 DOM与XML 包 接口与类 说 明 javax.xml.parsers DocumentBuilderFactory 用来建立DOM解释器实体对象 DocumentBuilder DOM解释器,用来建立代表XML文 件的Document org.w3c.dom Document 代表XML文件 Node 代表整个XML文件树状结构里面最 原始的数据类型接口,定义处理节点 的相关方法,并由此接口的类所操作 Element 代表XML文件当中的任何一个元素, 同时定义操作元素的方法成员,继承 Node接口 NodeList 代表一个包含一个以上节点的集合接 口
第12章JSP与XML DOM树状结构 节点 节点 1001 IE+ 子节点 文字节点 025-84210020 子节点 gz@fj.com 1002 文字节点 方峻 025-84210020 email>tea(@fj.com JSP动态网页新技术 5
第12章JSP与XML JSP 动态网页新技术 5 DOM树状结构 1001 管正 025-84210020 gz@ fj.com 1002 方峻 025-84210020 tea@fj.com { { 文字节点 文字节点 节点 节点 节点 子节点 子节点
第12章JSP与XML Node element Node接口,代表XML文件当中最基本的单位元素,一个Node下 可能还包含子节点,而某些如文字内容的节点则为单一Node,例 如以及等等 Element是处理ⅪML文件最常使用的接口,它定义了操作XML节 点所需的方法成员 JSP动态网页新技术 6
第12章JSP与XML JSP 动态网页新技术 6 Node & Element ➢ Node接口,代表XML文件当中最基本的单位元素,一个Node下 可能还包含子节点,而某些如文字内容的节点则为单一Node,例 如以及等等。 ➢ Element是处理XML文件最常使用的接口,它定义了操作XML节 点所需的方法成员
第12章JSP与XML 获取节点 getElements By TagName(主要功能在于取得某个特定节点下的所 有子节点,它返回一个 NodeList对象,其中包含了此节点下所有 的子结点集合。 getElements By TagName(nodeName) Node接口本身定义了取得特定节点的方法,其中比较重要者包含 了用来取得文字形态节点内容文字的 getNode valued,引用这个方 法可以取得指定节点的文字内容 getFirst Child,此方法则是将代表第一个节点的Node当作结果返 JSP动态网页新技术 7
第12章JSP与XML JSP 动态网页新技术 7 获取节点 ➢ getElementsByTagName() 主要功能在于取得某个特定节点下的所 有子节点,它返回一个NodeList对象,其中包含了此节点下所有 的子结点集合 。 getElementsByTagName(nodeName) ➢ Node接口本身定义了取得特定节点的方法,其中比较重要者包含 了用来取得文字形态节点内容文字的getNodeValue(),引用这个方 法可以取得指定节点的文字内容。 ➢ getFirstChild(),此方法则是将代表第一个节点的Node当作结果返 回
第12章JSP与XML 使用DOM建立XML文件 createElementNSO以及 create TextNodeo,建立形成XML文件结构的所有 节点。 create ElementNSO用來建立XML文件当中任何一个形态为 Element的节点 元素 CreateElementNS(namespaceURI, qualifieName) 第1个字符串代表此元素命名空间URI,没有特别指定则必须传入 个n山值 第2个则是所要建立的元素名称。 create TextNodeo则是用来建立形态为Node的文字节点,其中的 qualifieName则是此节点的名称 create TextNode(qualifieName) JSP动态网页新技术 8
第12章JSP与XML JSP 动态网页新技术 8 使用DOM建立XML文件 ➢ createElementNS()以及createTextNode(),建立形成XML文件结构的所有 节点 。 ➢ createElementNS()用來建立XML文件当中任何一个形态为Element的节点 元素 。 CreateElementNS(namespaceURI,qualifieName) – 第1个字符串代表此元素命名空间URI,没有特别指定则必须传入一 个null值 – 第2个则是所要建立的元素名称 。 ➢ createTextNode()则是用来建立形态为Node的文字节点,其中的 qualifieName则是此节点的名称 。 createTextNode(qualifieName)
第12章JSP与XML 使用DOM建立XML文件 append Child的方法可以将指定的元素加入当前的元素当中 成为当前元素的子节点,其中的参数 nodechild为所要加入的子节 点 append Child( node child 建立的XML文件,只是暂时存在内存当中,紧接着还要进 步将其转换作输出 JSP动态网页新技术
第12章JSP与XML JSP 动态网页新技术 9 使用DOM建立XML文件 appendChild()的方法可以将指定的元素加入当前的元素当中, 成为当前元素的子节点,其中的参数nodeChild为所要加入的子节 点 。 appendChild(nodeChild) – 建立的XML文件,只是暂时存在内存当中,紧接着还要进一 步将其转换作输出
第12章JSP与XML 建立XML文件所需的包与类接口 类 说明 javax.xmL. transform TransformerFa建立XML转换实体对象 ctory Transformer提供XM转换功能 javax.xml. transform. DOMSource代表一个XML转换所需 d om 的数据来源 avax. xml. transform. StreamResult代表一个XML转换所需 stream 的数据输出目标 JSP动态网页新技术
第12章JSP与XML JSP 动态网页新技术 10 建立XML文件所需的包与类接口 包 类 说 明 javax.xml.transform TransformerFa ctory 建立XML转换实体对象 Transformer 提供XML转换功能 javax.xml.transform. dom DOMSource 代表一个XML转换所需 的数据来源 javax.xml.transform. stream StreamResult 代表一个XML转换所需 的数据输出目标