当前位置: 首页 > news >正文

顺德网站制作案例市场热门的网页设计工具有哪些

顺德网站制作案例市场,热门的网页设计工具有哪些,网站分几种,网站注意事项目录 1 XML1.1 XML 概述1.2 XML 语法规则1.3 XML 文档约束#xff08;了解#xff09;1.3.1 DTD 约束1.3.2 schema 约束 2 XML 解析2.1 XML 解析概述2.2 Dom4J 解析 XML 文件2.3 XML 解析案例 3 XML 检索4 设计模式4.1 工厂模式4.2 装饰模式 1 XML 在有些业务场景下#xff… 目录 1 XML1.1 XML 概述1.2 XML 语法规则1.3 XML 文档约束了解1.3.1 DTD 约束1.3.2 schema 约束 2 XML 解析2.1 XML 解析概述2.2 Dom4J 解析 XML 文件2.3 XML 解析案例 3 XML 检索4 设计模式4.1 工厂模式4.2 装饰模式 1 XML 在有些业务场景下存储数据或者传输数据给别人的时候需要满足一定的规范进行组织 1.1 XML 概述 XML 的全称为EXtensible Markup Language是一种 可扩展 的 标记语言是一种数据表示格式可以用于自定义数据格式可以描述非常复杂的数据结构常用于传输和存储数据。 例如 ?xml version1.0 encodingUTF-8? datasender 张三 /senderreceiver 李四 /receiversrcaddr 北京 /addrdate2022-11-11 11:11:11/date/srccurrent 武汉 /currentdest 广州 /dest /dataXML 的几个特点和使用场景 一是纯文本默认使用 UTF-8 编码二是可嵌套如果把 XML 内容存为文件那么它就是一个 XML 文件。XML 内容经常被 当成消息进行网络传输或者 作为配置文件用于存储系统的信息。 1.2 XML 语法规则 XML 的创建 就是创建一个 XML 类型的文件要求文件的后缀名必须使用 xml如helloworld.xml。 XML 文件的文档声明 XML 文件的文档声明必须在第一行 ?xml version1.0 encodingUTF-8 ?version XML 默认的版本号码、该属性是必须存在的 encoding 本 XML 文件的编码 XML 的标签 ( 元素 ) 规则 标签由一对尖括号和合法标识符组成name/name必须存在一个根标签有且只能有一个标签必须成对出现有开始有结束 name/name特殊的标签可以不成对但是必须有结束标记如 br/标签中可以定义属性属性和标签名空格隔开 属性值必须用引号引起来 student id “1”/name标签需要正确的嵌套XML 文件中可以定义注释信息 !-- 注释内容 --XML 文件中可以存在以下特殊字符 lt; 小于gt; 大于amp; 和号apos; 单引号quot; 引号 XML 文件可以存在 CDATA 区 IDEA中输入CD再回车 示例代码 ?xml version1.0 encodingUTF-8 ? studentmsgage gt; 18 amp;amp; age lt;24![CDATA[age18 age24]]/msg /student1.3 XML 文档约束了解 问题由于 XML 文件可以自定义标签导致 XML 文件可以随意定义程序在解析的时候可能出现问题。 文档约束是用来限定 XML 文件中的标签以及属性应该怎么写以此强制约束程序员必须按照文档约束的规定来编写 XML 文件中 文档约束可以分为DTD和 schema 两种 1.3.1 DTD 约束 需求利用 DTD 文档约束约束一个 XML 文件的编写。 分析 编写 DTD 约束文档后缀必须是 .dtd在需要编写的 XML 文件中导入该 DTD 约束文档按照约束的规定编写 XML 文件的内容 示例代码 XML 的文档约束 -DTD 的作用和问题 可以约束 XML 文件的编写。不能约束具体的数据类型。 1.3.2 schema 约束 schema 可以约束具体的数据类型约束能力上更强大但由于其本身也是一个 XML 文件也受到其他约束文件的要求所以编写地更严谨 需求利用 schema 文档约束约束一个 XML 文件的编写。 分析 编写 schema 约束文档后缀必须是 .xsd在需要编写的 XML 文件中导入该 schema 约束文档按照约束内容编写 XML 文件的标签。 示例代码 2 XML 解析 2.1 XML 解析概述 XML 的数据的作用是什么最终需要怎么处理 存储数据、做配置信息、进行数据传输。最终需要被程序进行读取解析里面的信息。 主要有两种解析方式 SAX 解析、DOM 解析 Dom 常见的解析工具 DOM 解析解析文档对象模型 Document 对象整个 xml 文档 Node 对象 Element 对象标签Attribute 对象属性Text 对象文本内容 2.2 Dom4J 解析 XML 文件 需求使用 Dom4J 把一个 XML 文件的数据进行解析 分析 下载 Dom4j 框架官网下载。在项目中创建一个文件夹 lib将 dom4j-2.1.1.jar 文件复制到 lib 文件夹在 jar 文件上点右键选择 Add as Library - 点击 OK在类中导包使用 Dom4j 解析 XML- 得到 Document 对象 SAXReader类 Document 类 Dom4j 解析 XML 的元素、属性、文本 示例代码 XML文件 ?xml version1.0 encodingUTF-8? contactListcontact id1 viptrue哈哈哈name 潘金莲 /namegender女/genderemailpanpanit.cn/email/contactcontact id2 vipfalsename武松/namegender男/genderemailwusongit.cn/email/contactcontact id3 vipfalsename武大狼/namegender男/genderemailwudait.cn/email/contactuser/user /contactList解析XML文件 import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.junit.Test; import java.io.InputStream;public class Dom4jDemo {Testpublic void parseXML() throws Exception{// 1. 创建一个Dom4j解析器对象代表了整个Dom4j框架SAXReader saxReader new SAXReader();// 2. 把XML文件加载到内存中称为一个Document对象 // Document document saxReader.read(xml\\src\\Contacts.xml); // Document document saxReader.read(new File(xml\\src\\Contacts.xml)); // Document document saxReader.read(new FileInputStream(xml\\src\\Contacts.xml));// getResourceAsStream 中的/是直接去src下寻找文件InputStream is Dom4jDemo.class.getResourceAsStream(/Contacts.xml);Document document saxReader.read(is);// 3. 获取根元素对象Element rootElement document.getRootElement();System.out.println(rootElement.getName()); // contactList// 4. 获取子元素// 4.1 获取根元素下所有的子元素一级 // ListElement elements rootElement.elements(); // for (Element element : elements) { // System.out.println(element.getName()); // }// 4.2 获取某个子元素若同名默认提取第一个子元素对象Element contact rootElement.element(contact);System.out.println(contact.getName()); // contact// 4.3 获取当前元素的文本System.out.println(contact.getText());// 去掉前后空格System.out.println(contact.getTextTrim()); // 哈哈哈// 4.4 获取子元素文本System.out.println(contact.elementText(name));// 去掉前后空格System.out.println(contact.elementTextTrim(name)); // 潘金莲// 4.5 根据元素获取属性值Attribute id contact.attribute(id);// 打印属性名和属性值System.out.println(id.getName()id.getValue());// 4.6 直接获取属性值System.out.println(contact.attributeValue(id)); // 1System.out.println(contact.attributeValue(vip)); // true} }2.3 XML 解析案例 需求 : 利用 Dom4J 的知识将 Contact.xml 文件中的联系人数据封装成 List 集合其中每个元素是实体类 Contact 。打印输出 List 中的每个元素。 案例用到的 XML 文件见上文 创建 Contact 类 public class Contact {private String name;private int id;private boolean vip;private char gender;private String email;public Contact() {}public Contact(String name, int id, boolean vip, char gender, String email) {this.name name;this.id id;this.vip vip;this.gender gender;this.email email;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getId() {return id;}public void setId(int id) {this.id id;}public boolean isVip() {return vip;}public void setVip(boolean vip) {this.vip vip;}public char getGender() {return gender;}public void setGender(char gender) {this.gender gender;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}Overridepublic String toString() {return Contact{ name name \ , id id , vip vip , gender gender , email email \ };} }解析XML import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.junit.Test;import java.lang.invoke.StringConcatException; import java.util.ArrayList; import java.util.List;public class TestDemo {Testpublic void parseToList() throws Exception {// 1. 创建saxReader对象SAXReader saxReader new SAXReader();// 2. 加载XML文件成为Document对象Document document saxReader.read(TestDemo.class.getResourceAsStream(/Contacts.xml));// 3. 先获取根元素Element rootElement document.getRootElement();// 4. 获取所有的contact子元素ListElement contactEles rootElement.elements(contact);// 5. 准备一个ArrayList集合封装联系人信息ArrayListContact contactsList new ArrayList();// 6. 遍历每一个contact子元素for (Element contactEle : contactEles) {// 7. 每一个contact子元素都是一个联系人对象Contact contact new Contact();// 8. 提取信息并给对象赋值contact.setId(Integer.valueOf(contactEle.attributeValue(id)));contact.setVip(Boolean.valueOf(contactEle.attributeValue(vip)));contact.setName(contactEle.elementTextTrim(name));contact.setGender(contactEle.elementTextTrim(gender).charAt(0));contact.setEmail(contactEle.elementTextTrim(email));// 9.把联系人对象放入List集合contactsList.add(contact);}// 10. 遍历集合for (Contact contact : contactsList) {System.out.println(contact);}} }输出结果 总结 Dom4J 解析 XML 文件的核心思想 得到文档对象 Document 从中获取元素对象和内容。 Dom4J 的解析后的数据形式。 通常数据会封装成 Java 的对象如单个对象或者集合对象形 式。 3 XML 检索 如果需要从 XML 文件中检索需要的某个信息如 name 怎么解决 Dom4j 需要进行文件的全部解析然后再寻找数据。Xpath 技术更加适合做信息检索。 XPath 在解析 XML 文档方面提供了一独树一帜的路径思想更加优雅高效。XPath 使用路径表达式来定位 XML 文档中的元素节点或属性节点。 使用 Xpath 检索出 XML 文件 需求使用 Dom4J 把一个 XML 文件的数据进行解析 分析 导入 jar 包 (dom4j 和 jaxen-1.1.2.jar) Xpath 技术依赖 Dom4j 技术通过 dom4j 的 SAXReader 获取 Document 对象利用 XPath 提供的 API, 结合 XPath 的语法完成选取 XML 文档元素节点进行解析操作。 Document 中与 Xpath 相关的 API Xpath 的四大检索方案 绝对路径采用绝对路径获取从根节点开始逐层的查找 /contactList/contact/name 节点列表并打印信息 相对路径先得到根节点 contactList再采用相对路径获取下一级 contact 节点的 name 子节点并打印信息 全文检索直接全文搜索所有的 name 元素并打印 属性查找在全文中搜索属性或者带属性的元素 示例代码 XML文件 ?xml version1.0 encodingUTF-8? contactListcontact id1 viptruename 潘金莲 /namegender女/genderemailpanpanitcast.cn/email/contactcontact id2 vipfalsename武松/namegender男/genderemailwusongitcast.cn/email/contactcontact id3 vipfalsename武大狼/namegender男/genderemailwudaitcast.cn/email/contactusercontactinfoname id666西门庆/name/info/contact/user /contactList检索XML import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.junit.Test;import java.util.List;public class XPathDemo {// 1. 绝对路径Testpublic void parse01() throws Exception {// 创建解析器对象SAXReader saxReader new SAXReader();// 将XML文件加载成Document对象Document document saxReader.read(XPathDemo.class.getResourceAsStream(/Contacts2.xml));// 检索全部名称name值ListNode nodes document.selectNodes(/contactList/contact/name);for (Node node : nodes) {Element nameEle (Element) node;System.out.println(nameEle.getTextTrim());}}// 2. 相对路径Testpublic void parse02() throws Exception {// 创建解析器对象SAXReader saxReader new SAXReader();// 将XML文件加载成Document对象Document document saxReader.read(XPathDemo.class.getResourceAsStream(/Contacts2.xml));Element rootElement document.getRootElement();// 检索全部名称name值ListNode nodes rootElement.selectNodes(./contact/name);for (Node node : nodes) {Element nameEle (Element) node;System.out.println(nameEle.getTextTrim());}}// 3. 全文搜素Testpublic void parse03() throws Exception {// 创建解析器对象SAXReader saxReader new SAXReader();// 将XML文件加载成Document对象Document document saxReader.read(XPathDemo.class.getResourceAsStream(/Contacts2.xml));// 检索数据 // ListNode nodes document.selectNodes(//name);// 会找西门庆 // ListNode nodes document.selectNodes(//contact/name);// 不会找西门庆ListNode nodes document.selectNodes(//contact//name);// 会找西门庆for (Node node : nodes) {Element nameEle (Element) node;System.out.println(nameEle.getTextTrim());}}// 4. 属性查找Testpublic void parse04() throws Exception {// 创建解析器对象SAXReader saxReader new SAXReader();// 将XML文件加载成Document对象Document document saxReader.read(XPathDemo.class.getResourceAsStream(/Contacts2.xml));// 检索数据// 在全文中检索属性对象ListNode nodes document.selectNodes(//id);for (Node node : nodes) {Attribute attr (Attribute) node;System.out.println(attr.getName()attr.getValue());}// 在全文中检索包含该属性的元素对象若有多个只返回第一个// 查询name元素包含id属性的 // Node node document.selectSingleNode(//name[id]);// 在全文中检索属性对象且属性值为该值的元素对象Node node document.selectSingleNode(//name[id666]);Element ele (Element) node;System.out.println(ele.getTextTrim());} }Element和继承Node 4 设计模式 4.1 工厂模式 之前我们创建类对象时都是使用 new 对象的形式创建在很多业务场景下也提供了不直接 new 的方式 。 工厂模式 Factory Pattern 是 Java 中最常用的设计模式之一 这种类型的设计模式属于创建型模式它提供了一种获取对象的方式。 工厂设计模式的作用 工厂的方法可以封装对象的创建细节比如为该对象进行加工和数据注入。可以实现类与类之间的解耦操作核心思想 4.2 装饰模式 装饰设计模式创建一个新类包装原始类从而在新类中提升原来类的功能。 装饰设计模式的作用 装饰模式指的是在不改变原类的基础上 动态地扩展一个类的功能
http://www.tj-hxxt.cn/news/225760.html

相关文章:

  • 南通网站制作域名如何指向网站
  • dede 中英文网站 怎么做创建网站购买域名要注意什么
  • 域名可以绑定网站吗广州地铁18号线最新线路图
  • 环境网站模板济宁网站建设流程
  • 移动版网站开发黄页网站怎么查
  • 做网站外包好做吗广告公司取什么名字好
  • 高大上的企业网站欣赏南宁百度seo价格
  • 基础网站建设素材张雪峰不建议报的计算机
  • 水务 网站建设拍摄宣传片的流程简要
  • 企业网站后台管理模板展厅设计公司首选
  • 做ppt好的模板下载网站北京工程设计公司排名
  • 企业网站制作步骤燕窝网站怎么做的
  • 阿里巴巴国际站买家版appseo会被取代吗
  • 徐州cms模板建站搜索关键词站长工具
  • 门户网站建设专业御花园网站建设公司
  • 桥西区建设局网站wordpress点击下载
  • 牡丹江网站建设东莞网站建设(信科网络)
  • 做服装有哪些好的网站鞍山ui界面
  • 商城网站程序wordpress中英文网站
  • 公司直招的招聘网站互联网技术怎么学
  • 营销型平台网站制作公司网页思路怎么写
  • 学校网站开发的背景妙影免费模板下载
  • 江苏网站开发建设电话呼市网页设计培训
  • 网站每年要交钱吗正规中国建筑装饰产业网官网
  • 有网站前端如何做后台seo分析及优化建议
  • 昆山建设工程信息网站商城网站 没有什么文章 怎样优化
  • 双语网站用什么程序做域名注册查询批量
  • 做网站搜索排名access数据库做网站
  • 电子商务目前就业形势邢台网站优化服务平台
  • 榆林网站开发天眼查网站