实验四 DOM技术应用.doc_第1页
实验四 DOM技术应用.doc_第2页
实验四 DOM技术应用.doc_第3页
实验四 DOM技术应用.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 DOM技术应用一、实验目的1、了解DOM技术的基本对象;2、掌握DOM技术的常用对象的基本属性及方法;3、掌握DOM技术在Java、C#语言里的简单使用。二、实验要求1、能使用DOM接口对XML文档进行解析;2、能使用DOM接口创建XML文档。三、实验原理1、DOM模型在内存中为XML文档建立逻辑形式的节点树;2、DOM接口是W3C组织提供的操作XML文档的接口。四、实验内容/ DOMSample.javaimport java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import org.w3c.dom.Attr;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import ernal.parsers.DOMParser;public class DOMSample public static void main(String argv) try if (argv.length != 1) System.err.println(Usage: java DOMSample filename);System.exit(1);BufferedReader in = new BufferedReader(new FileReader(argv0);DOMParser parser = new DOMParser();parser.parse(new InputSource(in); Document doc = parser.getDocument();System.out.println(元素是: );printElements(doc);System.out.println();System.out.println(每个元素的属性是: );printElementAttributes(doc); catch (SAXException s) System.out.println(s.toString(); catch (IOException e) System.out.println(e.toString();static void printElements(Document doc) NodeList nl = doc.getElementsByTagName(*);/ “*”表示匹配所有标记。Node n;for (int i = 0; i nl.getLength(); i+) n = nl.item(i);System.out.print(n.getNodeName() + );static void printElementAttributes(Document doc) NodeList nl = doc.getElementsByTagName(*);Element e;Attr attr;NamedNodeMap nnm;String attrname;String attrval;int i, len;len = nl.getLength();for (int j = 0; j len; j+) e = (Element) nl.item(j);System.out.println(e.getTagName() + :+ e.getFirstChild().getNodeValue();nnm = e.getAttributes();if (nnm != null) for (i = 0; i nnm.getLength(); i+) attr = (Attr) nnm.item(i);attrname = attr.getName();attrval = attr.getValue();System.out.println( 属性是: + attrname + = + attrval); /DOMGenerate.java/实验6_2在Eclipse平台编译时会产生部分类或接口无法解析的问题,/现将指导书上的代码更正如下,主要改动了前面import的内容import org.w3c.dom.*;import ernal.dom.DocumentImpl;import ernal.serialize.OutputFormat;import ernal.serialize.XMLSerializer;import java.io.*;public class DOMGenerate public static void main( String argv ) try Document doc= new DocumentImpl(); Element root = doc.createElement(person); / Create Root Element Element item = doc.createElement(name); / Create element item.appendChild( doc.createTextNode(Jeff) ); root.appendChild( item ); / atach element to Root element item = doc.createElement(age); / Create another Element item.appendChild( doc.createTextNode(28 ) ); root.appendChild( item ); / Attach Element to previous element down tree item = doc.createElement(height); item.appendChild( doc.createTextNode(1.80 ) ); root.appendChild( item ); / Attach another Element - grandaugther doc.appendChild( root ); / Add Root to Document OutputFormat format = new OutputFormat( doc ); /Serialize DOM/ 创建一个File对象,代表DOM Tree所包含的数据的输出介质,这是一个XML文件。 File f = new File (xuser.xml);/ 创建文件输出流对象fos,请留意构造函数的参数。 FileOutputStream fos=new FileOutputStream(f); XMLSerializer serial = new XMLSerializer(format ); serial.setOutputByteStream(fos); / 串行化输出结果。 serial.asDOMSerializer().serialize(doc); catch ( Exception ex ) ex.printStackTrace(); 五、思考题(1)如何为题目2所建立的XML文档增加学生节点的子节点“专业”?在跟结点下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论