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("属性名称");
}
udp开发-dtd验证,dom解析的更多相关文章
- xml语法、DTD约束xml、Schema约束xml、DOM解析xml
今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...
- dom4j解析xml时取消DTD验证
解决方式整合一下,就分两种: 1.用setFeature() SAXReader reader = new SAXReader();reader.setValidation(false); reade ...
- XML与web开发-01- 在页面显示和 XML DOM 解析
前言: 关于 xml 特点和基础知识,可以菜鸟教程进行学习:http://www.runoob.com/xml/xml-tutorial.html 本系列笔记,主要介绍 xml 在 web 开发时需要 ...
- dom解析器机制 web基本概念 tomcat
0 作业[cn.itcast.xml.sax.Demo2] 1)在SAX解析器中,一定要知道每方法何时执行,及SAX解析器会传入的参数含义 1 理解dom解析器机制 1)dom解析和dom4j原理 ...
- JAVA与DOM解析器提高(DOM/SAX/JDOM/DOM4j/XPath) 学习笔记二
要求 必备知识 JAVA基础知识.XML基础知识. 开发环境 MyEclipse10 资料下载 源码下载 sax.dom是两种对xml文档进行解析的方法(没有具体实现,只是接口),所以只有它们是无 ...
- JAVA与DOM解析器基础 学习笔记
要求 必备知识 JAVA基础知识.XML基础知识. 开发环境 MyEclipse10 资料下载 源码下载 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的 ...
- 知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...
- XML 树结构,语法规则,元素,属性,验证及其解析
XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶". 一个 XML 文档实例 XML 文档使用简单的具有自我描述性的语法: <?xml v ...
- 用RegularJS开发小程序 — mpregular解析
本文来自网易云社区. Mpregular 是基于 RegularJS(简称 Regular) 的小程序开发框架.开发者可以将直接用 RegularJS 开发小程序,或者将现有的 RegularJS 应 ...
随机推荐
- ☀【组件】数组 array
<!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- 《C#并行编程高级教程》第7章 VS2010任务调试 笔记
没有什么好说的,主要是将调试模式下的Parallel Tasks窗体和Parallel Stacks窗体.折腾一下应该比看书效果好.(表示自己没有折腾过) 另外值得注意的是,主线程不是一个任务.所以主 ...
- HDU4370 0 or 1 最短路
分析: 1001 (已更新) 显然,题目给的是一个0/1规划模型.解题的关键在于如何看出这个模型的本质.3个条件明显在刻画未知数之间的关系,从图论的角度思考问题,容易得到下面3个结论:1.X12+X ...
- 添加iis的wolf、wolf2、json支持
1.打开“mime类型”,添加: 如下“文件扩展名”和“mime类型”: .woff application/x-font-woff .woff2 applic ...
- CodeBlocks+opencv2.4.4+cmake+MinGW
/*-----------------------------------------------------------------------------* * 版权声明:* 可以任意 ...
- Log Parser 微软强大的日志分析工具
Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...
- PC-用Windows XP自带的组策略加固操作系统
1.我的壁纸你别改==================================== 启动组策略时,单击“开始”按钮,选择“运行”命令,在“运行”文本框中输入“gpedit.msc”命令,即可启 ...
- Node.js学习(14)----EJS模板引擎
这个入门教程将从以下几个方面来讲解: 1. 引入EJS 2. 创建一个模板 3. 使用视图工具组件 4. 使用错误处理组件 5. 什么情况下应使用EJS 引入EJS 在我们正式开始前,我们先来做点准备 ...
- [二]poi实践一
1.创建时间格式的cell 2.创建不同格式的cell(字符串.布尔.数值) 3.读取遍历xls文件 4.抽取excel的内容
- python学习之列表
#coding:utf-81.#reverse方法将列表的元素反向存放,改变了原列表但不返回值x=[5,2,4,3,8]x.reverse() #x[::-1] 不改变list反向排序print x ...