Java如何解析xml报文,java如何解析json数据

  Java如何解析xml报文,java如何解析json数据

  写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用

  DOM方式解析XML

  师解析是将可扩展标记语言文件全部载入到内存,组装成一颗数字正射影像图树,然后通过节点以及节点之间的关系来解析可扩展标记语言文件,与平台无关,java提供的一种基础的解析可扩展置标语言文件的API,理解较简单,但是由于整个文档都需要载入内存,不适用于文档较大时。 (推荐学习:java课程)

  SAX方式解析XML

  基于事件驱动,逐条解析,适用于只处理可扩展标记语言数据,不易编码,而且很难同时访问同一个文档中的多处不同数据

  JDOM方式解析XML

  简化与可扩展置标语言的交互并且比使用数字正射影像图实现更快,仅使用具体类而不使用接口因此简化了API,并且易于使用

  DOM4j方式解析XML

  JDOM的一种智能分支,功能较强大,建议熟练使用

  xml文件

  ?可扩展标记语言版本=1.0 编码=utf-8 ?

  班级

  学生

  名字cxx 1/名字

  姓氏鲍勃1/姓氏

  昵称明星1/昵称

  马克85/马克

  /学生

  学生编号=493

  名字cxx 2/名字

  姓氏鲍勃2/姓氏

  昵称明星2/昵称

  马克85/马克

  /学生

  学生名册编号=593

  名字cxx 3/名字

  姓氏鲍勃3/姓氏

  昵称明星3/昵称

  马克85/马克

  /学生

  /DOM方式

  包com。cxx。XML

  导入org。W3C。多姆。*;

  导入javax。XML。解析器。文档生成器;

  导入javax。XML。解析器。documentbuilderfactory

  /**

  * @作者:cxx

  * Dom操作可扩展标记语言

  * @日期:2018/5/29 20:19

  */

  公共类DomDemo {

  //用元素方式

  公共静态空的元素(节点列表列表){

  for(int I=0;我列出。getlength();i ) {

  Element元素=(元素)列表。项目(一);

  NodeList子节点=元素。获取子节点();

  for(int j=0;j个子节点。getlength();j ) {

  if (childNodes.item(j)).get nodetype()==节点。元素_节点){

  //获取节点

  系统。出去。打印(子节点。第(j)项.get nodename():);

  //获取节点值

  系统。出去。println(子节点。第(j)项.getFirstChild().getNodeValue());

  }

  }

  }

  }

  公共静态空节点(节点列表列表){

  for(int I=0;我列出。getlength();i ) {

  node node=list。项目(一);

  NodeList子节点=节点。获取子节点();

  for(int j=0;j个子节点。getlength();j ) {

  if (childNodes.item(j)).get nodetype()==节点。元素_节点){

  系统。出去。打印(子节点。第(j)项.get nodename():);

  系统。出去。println(子节点。第(j)项.getFirstChild().getNodeValue());

  }

  }

  }

  }

  公共静态void main(String[] args) {

  //1.创建DocumentBuilderFactory对象

  DocumentBuilderFactory factory=DocumentBuilderFactory。新实例();

  //2.创建文档生成器对象

  尝试{

  文档生成器生成器=工厂。newdocumentbuilder();

  文件d=建筑商。parse( src/main/resources/demo。XML’);

  NodeList sList=d . getelementsbytagname( student );

  //element(sList);

  节点(sList);

  } catch(异常e) {

  e。printstacktrace();

  }

  }

  }SAX方式

  包com。cxx。XML

  导入org。XML。萨克斯。属性;

  导入org。XML。萨克斯。sax异常;

  导入org。XML。萨克斯。帮手。默认处理程序;

  导入javax。XML。解析器。sax解析器;

  导入javax。XML。解析器。saxparserfactory

  /**

  * @作者:cxx

  * SAX解析数字正射影像图

  * 一行一行处理者

  * startElement

  *结束元素

  * @日期:2018/5/29 20:03

  */

  公共类SaxDemo

  公共静态void main(String[] args)引发异常{

  //1.或去解析器工厂实例

  SAXParserFactory工厂=SAXParserFactory。新实例();

  //2.获取解析器实例

  sax解析器sax解析器=工厂。newsaxparser();

  //创建汉德尔对象

  SAXDemoHandel Handel=new SAXDemoHandel();

  sax解析器。parse( src/main/resources/demo。XML ,Handel);

  }

  }

  萨克斯德莫亨德尔类扩展了默认处理程序{

  //遍历可扩展标记语言文件开始标签

  @覆盖

  public void startDocument()抛出sax异常{

  超级棒。startdocument();

  System.out.println(sax解析开始);

  }

  //遍历可扩展标记语言文件结束标签

  @覆盖

  公共void endDocument()抛出sax异常{

  超级棒。结束文档();

  System.out.println(sax解析结束);

  }

  @覆盖

  公共void startElement(字符串uri,字符串本地名称,字符串qName,属性属性)引发sax异常{

  super.startElement(uri,localName,qName,attributes);

  如果(qname。等于(学生){

  系统。出去。println(============开始遍历学生=============);

  //系统。出去。println(属性。getvalue(卷号);

  }

  else if(!qName.equals(student )!qname。等于( class ){

  System.out.print(节点名称: qName -);

  }

  }

  @覆盖

  公共无效结束元素(字符串uri,字符串localName,字符串qName)引发sax异常{

  super.endElement(uri,localName,qName);

  如果(qname。等于(学生){

  System.out.println(qName 遍历结束);

  系统。出去。println(============结束遍历学生=============);

  }

  }

  @覆盖

  公共空的字符(char[] ch,int start,int length)抛出sax异常{

  super.characters(ch,start,length);

  字符串值=新字符串(ch,start,length).trim();

  如果(!价值。等于(“”){

  System.out.println(值);

  }

  }

  }JDOM方式

  !介绍及使用指南

  属国

  groupIdorg.jdom/groupId

  artifactIdjdom/artifactId

  版本1 .1 .3/版本

  /依赖包com。cxx。XML

  导入org。JDOM。属性;

  导入org。JDOM。文档;

  导入org。JDOM。元素;

  导入org。JDOM。输入。sax builder

  导入Java。io。文件;

  导入Java。io。文件输入流;

  导入Java。io。filenotfoundexception

  导入Java。io。inputstream

  导入Java。util。列表;

  /**

  * @作者:cxx

  * JDom解析可扩展标记语言

  * 快速开发可扩展置标语言应用程序。

  * 是一个开源项目

  * JDOM主要用来弥补数字正射影像图和萨克斯管在实际应用当中的不足。

  * @日期:2018/5/30 11:44

  */

  公共类JDomDemo {

  公共静态void main(String[] args)引发异常{

  //1.创建SAXBuilder对象

  sax builder sax builder=new sax builder();

  //2.创建输入流

  InputStream is=新文件InputStream(新文件( src/main/resources/demo。XML’));

  //3.将输入流加载到建设中

  文档document=sax builder。构建(is);

  //4.获取根节点

  元素根元素=文档。getrootelement();

  //5.获取子节点

  ListElement children=根元素。获取子对象();

  对于(元素子级:子级){

  System.out.println(通过罗尔诺获取属性值:孩子。get属性(“卷号”);

  列表属性attributes=child。获取属性();

  //打印属性

  for (Attribute attr : attributes) {

  系统。出去。println(属性getname():属性。getvalue());

  }

  ListElement children list=child。获取子对象();

  System.out.println(======获取子节点-start======);

  对于(元素o:儿童名单){

  System.out.println(节点名: o.getName() - 节点值: o . getvalue());

  }

  System.out.println(======获取子节点-end======);

  }

  }

  }DOM4J方式

  !- dom4j -

  属国

  groupIddom4j/groupId

  artifactIddom4j/artifactId

  版本1 .6 .1/版本

  /依赖包com。cxx。XML

  导入org。dom4j。属性;

  导入org。dom4j。文档;

  导入org。dom4j。文档异常;

  导入org。dom4j。元素;

  导入org。dom4j。io。sax阅读器;

  导入Java。io。文件;

  导入Java。util。迭代器;

  导入Java。util。列表;

  /**

  * @作者:cxx

  * Dom4j解析可扩展标记语言

  * @日期:2018/5/30 12:21

  */

  公共类Dom4JDemo {

  公共静态void main(String[] args)引发异常{

  //1.创建读者对象

  SAXReader reader=new SAXReader();

  //2.加载可扩展标记语言

  document=reader.read(新文件( src/main/resources/demo。XML’));

  //3.获取根节点

  元素根元素=文档。getrootelement();

  迭代器迭代器=根元素。元素迭代器();

  while (iterator.hasNext()){

  元素stu=(元素)迭代器。next();

  列表属性attributes=stu。属性();

  System.out.println(======获取属性值======);

  对于(属性属性:属性){

  系统。出去。println(属性。getvalue());

  }

  System.out.println(======遍历子节点======);

  迭代器迭代器1=stu。元素迭代器();

  while (iterator1.hasNext()){

  元素stu child=(元素)迭代器1。next();

  System.out.println(节点名: stuChild.getName() -节点值:‘斯图孩子。getstring value());

  }

  }

  }

  }以上就是爪哇岛如何解析可扩展置标语言的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • js把字符串转为json,json字符串转换成json对象
  • js把字符串转为json,json字符串转换成json对象,js 将json字符串转换为json对象的方法解析
  • json语法格式,json格式定义
  • json语法格式,json格式定义,Json格式详解
  • json格式数据类型,什么是JSON数据-其常见格式是什么-
  • json格式数据类型,什么是JSON数据-其常见格式是什么-,JSON 数据格式详解
  • json格式怎么写,json文件内容格式
  • json格式怎么写,json文件内容格式,json文件书写格式详解
  • json数组对象转化为json字符串,js把数组转化为json
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法,JSON对象转化为字符串详解
  • json基础介绍与详细用法教程,json基础知识
  • json基础介绍与详细用法教程,json基础知识,JSON基础介绍与详细用法
  • json去掉反斜杠,json字符串中有反斜杠
  • json去掉反斜杠,json字符串中有反斜杠,详解json串反转义(消除反斜杠)
  • 留言与评论(共有 条评论)
       
    验证码: