xml实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机科学系实验报告书

课程名:《计算机新技术》

题目:编写并验证良构的XML文档

班级:软件102班

学号:111003232

姓名:叶海飚

一.实验目的

(1)通过实验,了解XMP SPY的集成开放环境

(2)通过实验,熟悉并掌握XML文档的良构性要求(5点要求)

(3)通过实验,掌握namespace的作用和用法

(4)通过实验,初步掌握利用标准DOM接口,实现对XML文档(使用namespace和不使用namespace)

的解析

(5)能够编写一个良构的XML文档

二.实验内容

(1)编写两份XML文档

(2)用XML SPY验证XML文档的良构性。

(3)编写Java程序,验证XML文档的良构性。

三.实验步骤

(1)在没有联网的情况下,打开XMLSPY IDE环境

(2)分别编写零分良构的XML文档,一份使用namespace,一份不使用namespace,文档内容自拟。

(3)用XML SPY分别验证两份XML文档的良构性(well-formed)

(4)编写Java程序,分别验证XML文档的良构性。

四.实验结果

未使用namespace的XML文档

使用namespace的XML文档

未使用namespace文档的良构性Java验证

package shiyan1;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NodeList;

import org.w3c.dom.Node;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

import org.xml.sax.SAXParseException;

public class TestReadXmlFile {

public static final String XML_FILE_PATH="C:\\Users\\yeh\\Desktop\\xml实验\\第一次实验\\shiyan\\实验1.1.xml";

public static void main(String[] args) {

DocumentBuilderFactory factory=null;

DocumentBuilder builder=null;

Document document=null;

MyXmlHandler handler=new MyXmlHandler();

Element stock=null;

NodeList children=null;

int size=0;

try{

factory=DocumentBuilderFactory.newInstance();

builder=factory.newDocumentBuilder();

builder.setErrorHandler(handler);

document=builder.parse(new File(XML_FILE_PATH));

stock=document.getDocumentElement();

children=stock.getChildNodes();

size=children.getLength();

for(int i=0;i<=size-1;i++)

{

Node node=(Node) children.item(i);

if(node.getNodeType()==Node.TEXT_NODE){

continue;

}

String nodeName=node.getNodeName();

String nodeValue=node.getTextContent();

System.out.printf("\nn%15s: %s",nodeName,nodeValue); }

}

catch(Exception e){

System.err.println(e);

}

}

}

class MyXmlHandler extends DefaultHandler{

private String errorMessage;

@Override

public void error (SAXParseException e)throws SAXException

{

this.errorMessage=e.getMessage();

System.err.println("一般错误"+this.errorMessage);

}

public void fatalError(SAXParseException e)throws SAXException {

this.errorMessage=e.getMessage();

System.err.println("致命错误"+this.errorMessage);

}

}

相关文档
最新文档