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

介休市网站建设公司天津seo推广软件

介休市网站建设公司,天津seo推广软件,北京网站建设模板案例,网站设计主页一、XML概述 1.1简介 XML,全称为Extensible Markup Language,即可扩展标记语言,是一种用于存储和传输数据的文本格式。它是由W3C(万维网联盟)推荐的标准,广泛应用于各种系统中,如Web服务、数据…

一、XML概述

1.1简介

XML,全称为Extensible Markup Language,即可扩展标记语言,是一种用于存储和传输数据的文本格式。它是由W3C(万维网联盟)推荐的标准,广泛应用于各种系统中,如Web服务、数据库、移动应用等。与HTML相比,XML不是用于显示数据的,而是用于存储和传输数据,其语法结构更为严谨,可以支持自定义的标签和属性。

XML的语法规则很简单,由开始标签、结束标签、元素内容和属性组成。开始标签和结束标签使用尖括号括起来,元素内容位于开始标签和结束标签之间,属性则包含在开始标签中。XML文档的根元素是唯一的,所有其他元素都是其子元素。XML还可以使用DTD(文档类型定义)和XML Schema等方式定义文档的结构和内容约束。

由于XML的语法严谨、自定义标签和属性以及可扩展性等特点,使其成为一种流行的数据格式。它在Web服务中广泛应用,如SOAP协议、RESTful Web服务等,也用于配置文件、数据交换、文档传输等场景。

1.2用途

a.程序之间的数据传输通讯
PHP语言<- 快递100 <- Java 语言
b.配置文件config. xml
config. xm1 -> php语言、java语言、Python语言
c.存储数据,充当小型数据库
data. xml

由于XML具有通用性、可扩展性和可读性等特点,因此被广泛用于描述和存储各种类型的数据,如文本、图片、音频、视频、配置文件等。XML还被广泛应用于Web服务、企业应用集成、电子商务、电子出版、数据交换等领域。

1.3什么是XML

XML被发明的目的是传输和存储数据,而不是展示数据;
XML的标签必须自定义,但是在写标签名的时候一定要有含义;

1.4为什么需要XML

 1.5快速入门

1.6扩展技术

1.6.1DTD

1.6.2XSD 

1.6.3XSL

 二、XML的解析

2.1XML的解析方法

2.2Dom处理方法

其处理方式是将XML整个作为类似树结构的方式读入内存中以便操作及解析,方便修改。
解析大数据量的XML文件,会遇到内存泄露及程序崩溃的风险。 

2.3 DOM类解析

2.4DOM读xml文件

package org.example;import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import java.io.File;public class Main {public static void main(String[] a) {recursiveTraverse(); //自上而下进行访问System.out.println("========华丽丽的分割线=======");traverseBySearch(); //根据名称进行搜索}public static void recursiveTraverse() {try {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document document = db.parse(new File("D:\\workspace-java\\untitled4\\users.xml"));NodeList usersList = document.getChildNodes();for (int i = 0; i < usersList.getLength(); i++) {Node users = usersList.item(i);NodeList userList = users.getChildNodes();for (int j = 0; j < userList.getLength(); j++) {Node user = userList.item(j);if (user.getNodeType() == Node.ELEMENT_NODE) {NodeList metaList = user.getChildNodes();for (int k = 0; k < metaList.getLength(); k++) {Node meta = metaList.item(k);if (meta.getNodeType() == Node.ELEMENT_NODE) {System.out.println(meta.getNodeName()+ ":" + meta.getTextContent());}}System.out.println();}}}} catch (Exception e) {e.printStackTrace();}}public static void traverseBySearch() {try {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document document = db.parse(new File("D:\\workspace-java\\untitled4\\users.xml"));org.w3c.dom.Element rootElement = document.getDocumentElement();NodeList nodeList = rootElement.getElementsByTagName("name");if (nodeList != null) {for (int i = 0; i < nodeList.getLength(); i++) {org.w3c.dom.Element element = (org.w3c.dom.Element) nodeList.item(i);System.out.println(element.getNodeName() + " = " + element.getTextContent());}}} catch (Exception e) {e.printStackTrace();}}
}

 2.5DOM写xml文件

package org.example;import org.w3c.dom.Document;
import org.w3c.dom.Element;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;public class DomWriter {public static void main(String[] args) {try {DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();// 新创建一个Document节点Document document = dbBuilder.newDocument();if (document != null) {Element docx = document.createElement("document"); // 创建名为 "document" 的元素Element element = document.createElement("element");element.setAttribute("type", "paragraph");element.setAttribute("alignment", "left"); // 为 element 增加属性Element object = document.createElement("object");object.setAttribute("type", "text");Element text = document.createElement("text");text.appendChild(document.createTextNode("abcdefg")); // 为 text 节点赋值Element bold = document.createElement("bold");bold.appendChild(document.createTextNode("true")); // 为 bold 节点赋值object.appendChild(text); // 将 text 节点挂在 object 下object.appendChild(bold); // 将 bold 节点挂在 object 下element.appendChild(object); // 将 object 节点挂在 element 下docx.appendChild(element); // 将 element 节点挂在 docx 下document.appendChild(docx); // 将 docx 挂在 document 下TransformerFactory transformerFactory = TransformerFactory.newInstance();Transformer transformer = transformerFactory.newTransformer();DOMSource source = new DOMSource(document);// 定义目标文件File file = new File("dom_result.xml");StreamResult result = new StreamResult(file);// 将 XML 内容写入文件中transformer.transform(source, result);System.out.println("Write XML file successfully");}} catch (Exception e) {e.printStackTrace();}}
}

2.6SAX处理方法

package org.example;import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class SAXReader {public static void main(String[] args) {try {XMLReader parser = XMLReaderFactory.createXMLReader();BookHandler bookHandler = new BookHandler();parser.setContentHandler(bookHandler);parser.parse("books.xml");System.out.println(bookHandler.getNameList());} catch (SAXException | IOException e) {e.printStackTrace();}}
}class BookHandler extends DefaultHandler {private List<String> nameList;private boolean title = false;public List<String> getNameList() {return nameList;}// xml文档加载时public void startDocument() {System.out.println("Start parsing document...");nameList = new ArrayList<>();}// 文档解析结束public void endDocument() {System.out.println("End");}// 访问某一个元素public void startElement(String uri, String localName, String qName, Attributes atts) {if (qName.equals("title")) {title = true;}}// 结束访问元素public void endElement(String namespaceURI, String localName, String qName) {if (title) {title = false;}}// 访问元素正文public void characters(char[] ch, int start, int length) {if (title) {String bookTitle = new String(ch, start, length).trim();if (!bookTitle.isEmpty()) {System.out.println("Book title: " + bookTitle);nameList.add(bookTitle);}}}
}

2.7STAX处理方法

2.8其他第三方库

 

 

http://www.hkea.cn/news/203096/

相关文章:

  • 贷款类网站怎样做网络营销的推广
  • 乐清做网站哪家好税收大数据
  • 校园网站建设需求天津放心站内优化seo
  • 哈尔滨微网站建设热搜在哪里可以看
  • 网站用oracle做数据库福州seo推广服务
  • 康保县城乡建设委员会网站营销型网站重要特点是
  • 手机做网站的步骤跨境电商有哪些平台
  • 请人做网站要多少网络事件营销
  • 网站页脚有什么作用厦门seo哪家强
  • 东莞百度提升优化优化推广网站推荐
  • 查企业网站有哪些站长统计app软件
  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名
  • 网站域名被黑国际新闻最新消息战争
  • 苏州网站开发公司济南兴田德润厉害吗网络自动推广软件
  • 广药网站建设试卷株洲最新今日头条
  • 网站建设管理考核办法微信推广平台怎么做
  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛