首页 > 其他分享 >XML

XML

时间:2023-08-23 10:34:39浏览次数:31  
标签:XML xml dom4j Book 标签 book import

什么是xml以及他的作用


第一个xml示范文件

<?xml version="1.0" encoding="UTF-8" ?>
 <!--
<?xml version="1.0" encoding="UTF-8 ?>
以上内容就是xml文件的声明
version="1.0"   version表示xml的版本
encoding="UTF-8 ? encoding表示xml文件本身的编码
-->
<books><!--books表示多个图书的信息-->
    <book sn="SN1232233433"><!--book表示一个图书的信息,sn表示该图书的序列哈-->
        <name>时间简史</name><!--name标签表示图书名-->
        <author>霍金</author><!--author表示作者-->
        <price>75</price><!--表示价格-->

    </book>



    <book sn="SN12323333333"><!--book表示一个图书的信息,sn表示该图书的序列哈-->
        <name>java从入门到放弃</name><!--name标签表示图书名-->
        <author>沙老师</author><!--author表示作者-->
        <price>9.9</price><!--表示价格-->

    </book>


</books>

xml语法介绍

  • 1.xml注释的语法和html一样
  • 先熟悉一下html标签



  • xml对大小写敏感


xml解析技术的介绍

  • 以前主要用的是dom和SAX的解析技术,但是现在这2个技术已经过时了(具体参考官方笔记)
    现在主要重点和流行的是dom4j技术,因为很多框架的底层用的也是这个技术来解析xml

使用dom4j读取xml文件得到document对象

  • 将zip压缩包解压后
  • dosc文件夹下面是dom4j的学习文档,从index.html进入
  • lib文件夹下面是dom4j所依赖的jar包
  • src下面是dom4j的原码和一些测试的代码

使用dom4j来解析下面的内容

  • 我们现在需要将xml里面每一个book都解析成Book类中的一个对象实例

首先我们需要将dom4j的jar包添加到我们的模块下面的lib目录下面(lib专门用来放jar包)

  • 操作代码
package com.atguku.pojo;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

public class Dom4jTest {
    public static void main(String[] args) throws DocumentException {
        //创建一个SAXReader输入流去读取xml配置文件,生Document对象
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("xml\\src\\books.xml");

        //读取book.xml文件生成book类

        //1.读取book.xml文件

        //2.通过Document对象获取根元素
         Element rootElement = document.getRootElement();

        //3.通过根元素获取book标签对象
        //element()和elements()都是通过标签名查找子元素
         List<Element> books = rootElement.elements("book");//如果根元素有多个子元素则用elements
        //4.遍历,处理处理每个book标签转换为Book类对象
        for (Element book : books) {
            //asString()方法将book标签转换为字符串
            //System.out.println(book.asXML());
             Element nameElement = book.element("name");//得到name标签对象
             String nameText = nameElement.getText();//getText可以获得标签中的文本内容
                //elementText()可以获得指定标签名的文本内容(就不需要先得到标签对象了)
             String priceText  = book.elementText("price");
             String authorText = book.elementText("author");
            //获取属性值
             String snValue  = book.attributeValue("sn");
                //将得到的内容封装成对象
            System.out.println(new Book(snValue,nameText,Double.parseDouble(priceText),authorText));
            /*
            Book{sn = SN12341232, name = 辟邪剑谱, price = 9.9, author = 班主任}
Book{sn = SN12341231, name = 葵花宝典, price = 99.99, author = 班长}
             */
        }

    }
}

标签:XML,xml,dom4j,Book,标签,book,import
From: https://www.cnblogs.com/swtaa/p/17649564.html

相关文章

  • webbrowser显示xml, xml通过xslt转xhtml
    为WebBrowser控件增加显示XML文档接口(c#)ShowXMLinWebBrowsercontrol https://learn.microsoft.com/en-us/answers/questions/1181957/show-xml-in-webbrowser-controlViewXMLFilesEasilywithXmlGridViewControlhttps://www.codeproject.com/articles/16497/view-xml......
  • 读取转换规则中的单据类型映射(处理SQLSERVER的XML字段)
    DataSetdsBillTypeMap=null;stringsql=string.Format(@"/*dialect*/SELECTFKERNELXML.query('//BillTypeMaps')BillTypeMaps,FID......
  • Java_读取xml文件;
    功能:java读取xml文件源码;=>person.xml<?xmlversion="1.0"encoding="UTF-8"?><book> <persona='av'b='bv'> <first>wang</first> <last>laohu</last> <age>25</a......
  • 了解 xml
    https://www.cnblogs.com/bingyizhihun/p/15116222.htmlhttps://www.bilibili.com/video/BV1Na4y1J75w/?spm_id_from=333.337.search-card.all.click 1-2 xml发明的目的:   传输和存储数据。xml发明的目的:   传输和存储数据。xml发明的目的:   传输和存储数......
  • 无涯教程-PHP - XML GET
    XMLGet已用于从xml文件获取节点值。以下示例显示了如何从xml获取数据。Note.xml是xml文件,可以通过php文件访问。<SUBJECT><COURSE>Android</COURSE><COUNTRY>India</COUNTRY><COMPANY>LearnFk</COMPANY><PRICE>$10</PRICE></SUBJECT&......
  • Odoo - xml 的action/search继承修改
    直接对action动作视图进行修改<?xmlversion="1.0"encoding="UTF-8"?><odoo><recordmodel="ir.actions.act_window"id="(模块名).(想要修改的action_id)"><fieldname="domain">[('asset_ty......
  • Java-logback.xml配置
    <?xmlversion="1.0"encoding="UTF-8"?><configurationdebug="false"><!--定义日志文件的存储地址勿在LogBack的配置中使用相对路径--><propertyname="LOG_HOME"value="\logs"/><!--控制台输出-......
  • XXE漏洞--xml基础知识
    一、XML基础知识可以用于配置文件、交换数据要求:XML文档必须有根元素XML文档必须有关闭标签XML标签对大小写敏感XML元素必须被正确嵌套XML属性必须加引号DTD(DocumentTypeDefinition)文档类型定义自动校验格式内容,元素ELEMENT校验实体ENTITY定义字符或值,相当于全局变......
  • [SQL Server---For XML PATH 的运用]
    SELECTA.CID,B.TrueNameinto#UserNameFROMRH_CommuUserRoleAWITH(NOLOCK)LeftjoinRH_UserBWITH(NOLOCK)onA.UserID=B.idANDA.UType=1WHEREB.UserState=1selectCID,TrueName=STUFF((select','+ltrim(TrueName)from#UserNamewhereCID=t.CIDfo......
  • burpsuite靶场----SQL注入18----oracle的xml-bypass
    burpsuite靶场----SQL注入18----oracle的DNS-bypass靶场地址https://portswigger.net/web-security/sql-injection/lab-sql-injection-with-filter-bypass-via-xml-encoding正式开始1.随便点击一个viewdetails2.点击下面的checkstock,抓包3.发送到重放模块4.测试注入......