udp开发-dtd验证,dom解析

//博主太懒了,并没有提供范例程序

6、基于UDP开发

(1)发送方:socket->准备数据包

DatagramSocket docket = new DatagramSocket();

//准备数据包,

InetAddress ia = InetAddress.getByName("对方的ip地址");

DatagramPacket dp = new DatagramPacket(str.getBytes(),字节数足额长度,地址,端口号);

//发送数据

Socket.send(dp);

(2)接收方:

DatagramSocket socket= new DatagramSocket(端口号);

//准备接收数据包

Byte[] b = new byte[1024];

DatagramPacket dp = new DatagramPacket(b,b.lenth);

//接收数据

Socket.receiver(dp);

//将字节数组的数据保存成字符串

String s = new String(dp.getData(),0,dp.getData().length);

补充:建立以此链接后,返回数据时,可以不指定端口

SocketAddress sa  =  dp.getSocketAddress();

Byte[] by = str.getBytes();

DatagramPacket data = new DatagramPacket(by,by.length,sa);

7、junit添加

选中项目->右键:"build path" ->configure build path->libararies ->add Library->Junit->next,下

拉菜单选择JUint4 ->Finish ->ok

1、xml声明语句:<?xml version="1,0" encoding="UTF-8"?>

格式良好的XML文档需满足:

<1>必须有XML声明

<2>必须有且仅有一个根元素

<3>标签大小写敏感

<4>属性值用双引号

<5>标签成对

<6>元素正确嵌套

2、DTD验证:

(1)作用:对xml文件格式的限定,保证文件格式规整

(2)实现:

<!DOCTYPE 根标签名[

<!ELEMENT 标签名(该标签中包含的内容)>//三者之间使用空格隔开

]>

限定标签出现的次数符号:

?--0-1次

+--1到多次

*--0到多次

(3)验证属性:

<!ATTLIST 属性坐在标签 属性名 属性值类型 [其他]>

属性类型:CDATA-比奥斯文本

其他:#REQUIRED--必填

3、外部DTD

引入语法:

<!DOCTYPE 根元素 SYSTEM "dtd文件">

注:dtd文件中直接使用 element 和 attlist标签

一般情况下引入外部dtd。

文件后缀 dtd。

使用DOM解析XML主要使用的对象

4、使用对象:Document,NodeList,Node,Element

Document 表示XML的属性解耦股

NodeList 表示 标签对集合

Node 表示一对标签极其内容

Element 表示标签,用于获取属性

(2) 常用方法

Document :

getDocuementElement():Element- 获取根元素

getElementsByTagName("标签"):获取指定的标签列表

NodeList :

item(int index):遍历 每个Node节点

Element :getAttribute("属性名"):返回标签中的属性值

Node:

getNodeName()://获取节点名称

getTextContent()://获取标签对中的文本

注:获取标签的属性值时,需要将Node对象强转为Element

强转前,先判断:

If(node.getNodeType()==Element.ELEMENT_NODE){

Element e = (Element)node;

String attribute = e.getAttriubute("属性名称");

}

上一篇:Hive读取外表数据时跳过文件行首和行尾


下一篇:初识Hadoop、Hive