<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//动态绑定表单提交load=function (){//得到form2的dom对象var form2 = ElementById("form2");//绑定onsubmit事件submit=function (){if(!(form2.username.value.length>=4 &&form2.username.value.length<=6)){alert("用户长度不满足条件");return false;//判断用户名的长度合理性}if(form2.pwd.value.length!=6){alert("密码长度不满足条件");return false;}//判断密码长度合理性if(form2.pwd.value!=form2.pwd2.value){alert("二次密码不相同");return false;}var emailpattern=/^[w-]+@([a-zA-Z]+.)+[a-zA-Z]+$/;ail.value)){//test方法去验证email内容是否满足正则表达式alert("电子邮件格式不正确");return false;}return true;}}</script>
</head>
<body>
<h1>注册用户</h1>
<form action="ok.html" id="form2">用户名:<input type="text" name="username"/>长度4-6<br/>密 码:<input type="password" name="pwd"/>长度6<br/>确认:<input type="password" name="pwd2"/>长度6<br/>电邮:<input type="text" name="email"/>满足基本格式<br/><input type="submit" value="注册用户"/>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function selectall(){var sport = ElementsByName("sport");//sport是nodelist类型的集合for(var i=0;i<sport.length;i++){sport[i].checked=true;//默认全部选中}}function selectnone(){var sport = ElementsByName("sport");//sport是nodelist类型的集合for(var i=0;i<sport.length;i++){sport[i].checked=false;//默认全部不选中}}function selectreserse() {var sport = ElementsByName("sport");//sport是nodelist类型的集合for (var i = 0; i < sport.length; i++) {// if (sport[i].checked) {// sport[i].checked = false;// }// else// {// sport[i].checked = true;//默认全部选中}// }sport[i].checked=!sport[i].checked;}}</script>
</head>
<body>
你会的运动项目:
<input type="checkbox" name="sport" value="zq" checked="checked">足球
<input type="checkbox" name="sport" value="tq" >排球
<input type="checkbox" name="sport" value="ppq" >乒乓球<br/>
<button onclick="selectall()">全选</button>
<button onclick="selectnone()">全不选</button>
<button onclick="selectreserse()">反选</button>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>发送到ok了</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
<!-- dom是文档对象模型,将文档中的标签,属性,文本,转换为对象来管理
当网页被加载时浏览器会创建页面文档对象模型
document他是一种树结构文档,有层级关系把所有标签都对象化--><script type="text/javascript">function getvalue(){var elementById = ElementById("myheader");// dom对象,对应h1标签的对象,浏览器是从上到下解析代码// alert(elementById);// HTMLHeadingElementalert(elementById.innerText);//获取到对象内包含的文本alert(elementById.innerHTML);//获取对象包含的所有内容}// window.οnlοad=function (){//动态绑定// var myheader = ElementById("myheader");// myheader.οnclick=function (){// alert(myheader.innerText);// }}</script>
</head>
<body>
<!--静态绑定点击事件-->
<h1 id="myheader" onclick="getvalue()"><div>韩顺平教育</div></h1>
<!--当点击h1标签内容时就会执行函数-->
<p>click on the header to alert its value</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function changimg(){var ig = ElementsByTagName("img");//ig是一个集合对象alert(ig);for(var i=0;i<ig.length;i++){ig[i].src="./img/"+(i+4)+".png";}}</script>
</head>
<body>
<img src="./img/1.png" height="100">
<img src="./img/2.png" height="100">
<img src="./img/3.png" height="100"><br/>
<input type="button" onclick="changimg()" value="
查看多少小猫并换成小狗"/>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>课后作业猫狗切换</title><script type="text/javascript">function changeImgs() {//对程序的结构进行一个调整//(1) input 增加id, 可以修改valuevar but1 = ElementById("but1");//1. 得到所有的imgvar imgs = ElementsByTagName("img");//老师说 imgs 是 HTMLCollections//alert("动物数量是= " + imgs.length);if(but1.value == "查看多少小猫,并切换成小狗") { //猫->狗//2. 修改src,遍历修改for (var i = 0; i < imgs.length; i++) {imgs[i].src = "./img/" + (i + 4) + ".png";}but1.value = "查看多少小狗,并切换成小猫";} else if(but1.value == "查看多少小狗,并切换成小猫") {//狗->猫//2. 修改src,遍历修改for (var i = 0; i < imgs.length; i++) {imgs[i].src = "./img/" + (i + 1) + ".png";}but1.value = "查看多少小猫,并切换成小狗";}//(2) 根据input 的 value值来决定是切换猫还是狗 if -- else if ---//(3) 其它自己先思考}</script>
</head>
<body>
<img src="./img/1.png" height="100">
<img src="./img/2.png" height="100">
<img src="./img/3.png" height="100">
<br/>
<input type="button" id="but1" onclick="changeImgs()"value="查看多少小猫,并切换成小狗"/>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function addimg(){var img = ateElement("img");alert(img);//HTMLImageElement获取到小猫对象img.src="./img/1.png";img.width="100";document.body.appendChild(img);//把对象添加到body里面去}</script>
</head>
<body>
<input type="button" onclick="addimg()" value="点击创建一个小猫"/>
</body>
</html>
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>演示HTML DOM 相关方法</title><link rel="stylesheet" type="text/css" href="css.css"/><script type="text/javascript">//老师使用动态注册/绑定来演示load = function () {// 先获取btn01的domvar btn01 = ElementById("btn01");lick = function () {// 查找id=java节点var java = ElementById("java");alert("java节点文本=" + java.innerText);}// 查找所有option节点 小技巧: ctrl+home 直接到页面最上面 ctrl + end 页面最下var btn02 = ElementById("btn02");lick = function () {//查找所有option节点//老师梳理(id-->getElementById name-->getElementsByName 元素标签名->getElementsByTagName()var options = ElementsByTagName("option");alert(options); // object HtmlCollectionfor (var i = 0; i < options.length; i++) {alert("值= " + options[i].innerText);}}//查找name=sport的节点var btn03 = ElementById("btn03");lick = function () {var sports = ElementsByName("sport");//NodeListfor (var i = 0; i < sports.length; i++) {//过滤if (sports[i].checked) {//只弹出被选中的对象alert("运动是= " + sports[i].value);}}}//查找id=language 下所有li节点var btn04 = ElementById("btn04");lick = function () {var lis = ElementById("language").getElementsByTagName("li");for (var i = 0; i < lis.length; i++) {alert(lis[i].innerText);//<li>xxx</li> <input value="xx"/>}}//返回id=sel01 的所有子节点[3种方法]var btn05 = ElementById("btn05");lick = function () {//var options = ElementById("sel01").getElementsByTagName("option");//ElementById("sel01").childNodes.length);//11=>object text//老韩解读//1. 如果使用 ElementById("sel01").childNodes 获取的是object text 和 object htmloptionelement//2. 如果不希望得到text 对象,需要将所有的内容放在一行var childNodes = ElementById("sel01").childNodes;for (var i = 0; i < childNodes.length; i++) {if (childNodes[i].selected) {alert(i + " " + childNodes[i].innerText);}}alert("======================================================")//还有一个以前方法//老韩解读//1. sel01 是 HtmlSelectElement => 本身就有集合特点var sel01 = ElementById("sel01");for (var i = 0; i < sel01.length; i++) {alert(sel01[i].innerText);}}//返回id=sel01 的第一个子节点var btn06 = ElementById("btn06");lick = function () {//除了上面的方法外,还可以直接使用属性firstChildvar sel01 = ElementById("sel01");alert("xx=" + sel01.firstChild);//老师解读是按照 .childNodes 得到第一个子节点 //object textalert("yy=" + sel01[0]);//直接是得到第一个option节点 object htmloptionelement}//返回id=java 的父节点var btn07 = ElementById("btn07");lick = function () {var java = ElementById("java");//alert(java.parentNode);// object HtmlUListElement.//alert(java.parentNode.innerHTML);////alert(java.parentNode.childNodes.length);//4var childNodes = java.parentNode.childNodes;for (var i = 0; i < childNodes.length; i++) {alert("语言= " + childNodes[i].innerText);//java php,c++ py,}}//返回id=ct 的前后兄弟节点var btn08 = ElementById("btn08");lick = function () {//yydsvar ct = ElementById("ct");alert(ct.previousSibling.innerText);//object text , 输出undefinedalert(ct.previousSibling.previousSibling.innerText);//object htmloptionelement,艳红Sibling.innerText);//object text, 输出Sibling.innerText); //object HtmlOptionElement, 输出春花}//设置#person的文本域var btn10 = ElementById("btn10");lick = function () {var person = ElementById("person");person.innerText = "这是我们最新的介绍";}}</script>
</head>
<body>
<div id="total"><div class="inner"><P>你会的运动项目:</P><input type="checkbox" name="sport" value="zq" checked="checked">足球<input type="checkbox" name="sport" value="tq">台球<input type="checkbox" name="sport" value="ppq">乒乓球 <br/><hr/><P>你当前女友是谁:</P><select id="sel01"><option>---女友---</option><option>艳红</option><option id="ct" value="春桃菇凉">春桃</option><option>春花</option><option>桃红</option></select><hr/><p>你的编程语言?</p><ul id="language"><li id="java">Java~~~</li><li>PHP</li><li>C++</li><li>Python</li></ul><br><br><hr/><p>个人介绍:</p><textarea name="person" id="person">个人介绍</textarea></div></div>
<div id="btnList"><div><button id="btn01">查找id=java节点</button></div><div><button id="btn02">查找所有option节点</button></div><div><button id="btn03">查找name=sport的节点</button></div><div><button id="btn04">查找id=language 下所有li节点</button></div><div><button id="btn05">返回id=sel01 的所有子节点</button></div><div><button id="btn06">返回id=sel01 的第一个子节点</button></div><div><button id="btn07">返回id=java 的父节点</button></div><div><button id="btn08">返回id=ct 的前后兄弟节点</button></div><div><button id="btn09">读取id=ct 的 value 属性值</button></div><div><button id="btn10">设置#person的文本域</button></div>
</div>
</body>
</html>
@CHARSET "UTF-8";body {width: 800px;margin-left: auto;margin-right: auto;
}button {width: 200px;margin-bottom: 10px;text-align: left;
}#btnList {float:left;
}#total{width: 450px;float:left;
}ul{list-style-type: none;margin: 0px;padding: 0px;
}.inner li{border-style: solid;border-width: 1px;padding: 5px;margin: 5px;float:left;
}.inner{width:400px;border-width: 1px;margin-bottom: 10px;padding: 10px;float: left;
}
<?xml version="1.0" encoding="utf-8" ?>
<!--
xml表示文件类型是xml
verson="1.0"版本
student是root根元素,自己来定
id是属性,name,age,gender是student的子元素,而student是students的
子元素
-->
<students><student id="100"><name>jack</name><age>10</age><gender>男</gender></student><student><name>mary</name><age>18</age><gender>女</gender></student>
</students>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>乌龟游戏</title><script type="text/javascript">var cocktop=200;//定义公鸡的坐标var cockleft=200;//定义乌龟的高度和宽度var wuguiheight=67;var wuguiwidth=94;//定义公鸡的高度和宽度var cockheight=73;var cockwidth=76;function move(obj){//拿到dom对象var wuguiElementById("wugui");//获取到wugui。style。left和p的值var wuguileft=wugui.style.left;var wuguitop=p;//将wuguileft的100px转换为数字,也就是将string变为number类型wuguitop=parseInt(wuguitop.substring(0,3));//截取字符串的前三个字符,也可写为// wuguileft.substring(0,wuguileft.indexOf("p"));wuguileft=parseInt(wuguileft.substring(0,3));// alert(wuguitop);if("向上走"==obj.value){wuguitop-=10;p=wuguitop+"px";}else if("向下走"==obj.value){wuguitop+=10;p=wuguitop+"px";}else if("向左走"==obj.value){wuguileft-=10;wugui.style.left=wuguileft+"px";}else if("向右走"==obj.value){wuguileft+=10;wugui.style.left=wuguileft+"px";}//得到乌龟和公鸡左上角的距离,纵向距离yvar y=Math.abs(wuguitop-cocktop);//得到横向距离xvar x=Math.abs(wuguileft-cockleft);var yy=0;//默认没有重叠var xx=0;//默认没有·重叠·if(wuguitop<cocktop){if(y<wuguiheight){yy=1;}}else{//乌龟在下if(y<cockheight){yy=1;}}if(wuguileft<cockleft){if(x<wuguiwidth){xx=1;}}else {//乌龟在右边if(x<cockwidth){xx=1;} }if(xx&yy){alert("乌龟很厉害");wugui.style.left="100px";p="120px";}}</script>
</head>
<body>
<table border="1"><tr><td></td><td><input type="button" value="向上走" onclick="move(this)"/></td><td></td></tr><tr><td><input type="button" value="向左走" onclick="move(this)"/></td>
<!-- this表示你点击的button是一个dom对象可以获得属性和对象--><td></td><td><input type="button" value="向右走" onclick="move(this)"/></td></tr><tr><td></td><td><input type="button" value="向下走" onclick="move(this)"/></td><td></td></tr>
</table>
<!--把乌龟放在一个div-->
<div id="wugui" style="position: absolute ;left:100px;top:120px;">
<!-- 针对图片的左上角定位--><img src="1.bmp" border="1" alt=""/>
</div>
<!--公鸡图片div-->
<div id="cock" style="left:200px;position:absolute;top:200px;"><img src="2.bmp" border="1" alt=""/>
</div>
</body>
</html>
<?xml version="1.0" encoding="utf-8" ?>
<!--老韩解读1.属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)2.一个元素可以有多个属性,它的基本格式为:<元素名 属性名="属性值">3.特定的属性名称在同一个元素标记中只能出现一次4.属性值不能包括& 字符
-->
<students><!--举例:id='01' 也是正确写法如果属性值有" 则使用' 包括属性 比如 id="xxx'yyy"如果属性值有' 则使用" 包括属性 比如 id='xxx"yyy'属性名在同一个元素标记只能出现一次 <stduent id="01" id="03"> 错误的属性值不能包括& 字符 比如: <stduent id="0&1"> 是错误的--><student id="100"><name>jack</name><age>10</age><gender>男</gender></student><student id="200"><name>mary</name><age>18</age><gender>女</gender></student>
</students>
<?xml version="1.0" encoding="utf-8" ?>
<!--老韩解读1.区分大小写,例如,<P>和<p>是两个不同的标记。2.不能以数字开头。3.不能包含空格。4.名称中间不能包含冒号(:)。5.如果标签单词需要间隔,建议使用下划线 比如 <book_title>hello</book_title>
-->
<students><student id="100"><name>jack</name><age>10</age><gender>男</gender><email>jack@sohu</email><Email>jack2@sohu</Email><job>java工程师</job><book_name>三国</book_name></student><student id="200"><name>mary</name><age>18</age><gender>女</gender></student>
</students>
<?xml version="1.0" encoding="utf-8"?>
<!--老韩解读<![CDATA[这里可以把你输入的字符原样显示,不会解析 xml]]>
-->
<students><stduent id="01"><name>tom</name><gender>男</gender><age>18</age><!--举例说明:下面是一段js的代码片段. 直接放在<code></code>标签间,语法错误使用CDATA节来处理即可.<script data-compress=strip>function h(obj){obj.style.behavior='url(#default#homepage)';var a = obj.setHomePage('//www.baidu/');}</script>--></stduent><stduent id="02"><name>scott</name><gender>女</gender><age>17</age><code><!--如果希望把某些字符串,当做普通文本,使用CDATA包括 --><![CDATA[<script data-compress=strip>function h(obj){obj.style.behavior='url(#default#homepage)';var a = obj.setHomePage('//www.baidu/');}</script>]]></code></stduent>
</students>
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.jupiter.api.Test;import java.io.File;
import java.io.FileOutputStream;
import java.util.List;/*** @author 韩顺平* @version 1.0*/
public class Dom4j_ {/*** 演示如何加载xml文件*/@Testpublic void loadXML() throws DocumentException {//得到一个解析器SAXReader reader = new SAXReader();//老师的代码技巧->debug 看看document对象的属性//分析了document对象的底层结构Document document = ad(new File("l"));System.out.println(document);}/*** 遍历所有的student信息*/@Testpublic void listStus() throws DocumentException {//得到一个解析器SAXReader reader = new SAXReader();//老师的代码技巧->debug 看看document对象的属性//分析了document对象的底层结构Document document = ad(new File("l"));//1. 得到rootElement, 你是OOPElement rootElement = RootElement();//2. 得到rootElement的student ElementsList<Element> students = rootElement.elements("student");//System.out.println(student.size());//2for (Element student : students) {//element就是Student元素/节点//获取Student元素 的name ElementElement name = student.element("name");Element age = student.element("age");Element resume = student.element("resume");Element gender = student.element("gender");System.out.println("学生信息= " + Text() + " " + Text() +" " + Text() + " " + Text());}}/*** 指定读取第一个学生的信息 就是 dom4j+xpath*/@Testpublic void readOne() throws DocumentException {//得到一个解析器SAXReader reader = new SAXReader();//老师的代码技巧->debug 看看document对象的属性//分析了document对象的底层结构Document document = ad(new File("l"));//1. 得到rootElement, 你是OOPElement rootElement = RootElement();//2. 获取第一个学生Element student = (Element) rootElement.elements("student").get(1);//3. 输出该信息System.out.println("该学生的信息= " + student.element("name").getText() + " " +student.element("age").getText() + " " + student.element("resume").getText() +student.element("gender").getText());//4. 获取student元素的属性System.out.println("id= " + student.attributeValue("id"));}/*** 加元素(要求: 添加一个学生到xml中) [不要求,使用少,了解]* @throws Exception*/@Testpublic void add() throws Exception {//1.得到解析器SAXReader saxReader = new SAXReader();//2.指定解析哪个xml文件Document document = ad(new File("l"));//首先我们来创建一个学生节点对象Element newStu = ateElement("student");Element newStu_name = ateElement("name");//如何给元素添加属性newStu.addAttribute("id", "04");newStu_name.setText("宋江");//创建age元素Element newStu_age = ateElement("age");newStu_age.setText("23");//创建resume元素Element newStu_intro = ateElement("resume");newStu_intro.setText("梁山老大");//把三个子元素(节点)加到 newStu下newStu.add(newStu_name);newStu.add(newStu_age);newStu.add(newStu_intro);//再把newStu节点加到根元素RootElement().add(newStu);//直接输出会出现中文乱码:OutputFormat output = atePrettyPrint();output.setEncoding("utf-8");//输出的编码utf-8//把我们的xml文件更新// lets write to a file//new FileOutputStream(new File("l"))//使用到io编程 FileOutputStream 就是文件字节输出流XMLWriter writer = new XMLWriter(new FileOutputStream(new File("l")), output);writer.write(document);writer.close();}/*** //删除元素(要求:删除第一个学生) 使用少,了解* @throws Exception*/@Testpublic void del() throws Exception {//1.得到解析器SAXReader saxReader = new SAXReader();//2.指定解析哪个xml文件Document document = ad(new File("l"));//找到该元素第一个学生Element stu = (Element) RootElement().elements("student").get(2);//删除元素Parent().remove(stu);
// //删除元素的某个属性
// ve(stu.attribute("id"));//更新xml//直接输出会出现中文乱码:OutputFormat output = atePrettyPrint();output.setEncoding("utf-8");//输出的编码utf-8//把我们的xml文件更新XMLWriter writer = new XMLWriter(new FileOutputStream(new File("l")), output);writer.write(document);writer.close();System.out.println("删除成功~");}/*** //更新元素(要求把所有学生的年龄+3) 使用少,了解* @throws Exception*/@Testpublic void update() throws Exception {//1.得到解析器SAXReader saxReader = new SAXReader();//2.指定解析哪个xml文件Document document = ad(new File("l"));//得到所有学生的年龄List<Element> students = RootElement().elements("student");//遍历, 所有的学生元素的age+3for (Element student : students) {//取出年龄Element age = student.element("age");age.setText((Integer.Text()) + 3) + "");}//更新//直接输出会出现中文乱码:OutputFormat output = atePrettyPrint();output.setEncoding("utf-8");//输出的编码utf-8//把我们的xml文件更新XMLWriter writer = new XMLWriter(new FileOutputStream(new File("l")), output);writer.write(document);writer.close();System.out.println("更新成功~");}
}
"C:Program FilesJavajdk1.8.0_192" -ea -lic.buffer.size=1048576 "-javaagent:C:UsersAdministratorDesktopideaIntelliJ IDEA 2020.2libidea_rt.jar=5194:C:UsersAdministratorDesktopideaIntelliJ IDEA 2020.2bin" -ding=UTF-8 -classpath "C:UsersAdministratorDesktopideaIntelliJ IDEA 2020.2libidea_rt.jar;C:UsersAdministrator.m2repositoryorgjunitplatformjunit-platform-launcher1.4.2junit-platform-launcher-1.4.2.jar;C:UsersAdministratorDesktopideaIntelliJ IDEA 2020.2pluginsjunitlibjunit5-rt.jar;C:UsersAdministratorDesktopideaIntelliJ IDEA 2020.2pluginsjunitlibjunit-rt.jar;C:Program FilesJavajdk1.8.0_192jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_192jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_192jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_192jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_192jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_192jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_192jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_192jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_192jrelibextnashorn.jar;C:Program FilesJavajdk1.8.0_192jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_192jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_192jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_192jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_192jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_192jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_192jrelibjce.jar;C:Program FilesJavajdk1.8.0_192jrelibjfr.jar;C:Program FilesJavajdk1.8.0_192jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_192jrelibjsse.jar;C:Program FilesJavajdk1.8.0_192jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_192jrelibplugin.jar;C:Program FilesJavajdk1.8.0_192jrelibresources.jar;C:Program FilesJavajdk1.8.0_192jrelibrt.jar;C:UsersAdministratorIdeaProjectsuntitled3outproductionuntitled3;C:UsersAdministrator.m2repositoryorgjunitjupiterjunit-jupiter5.4.2junit-jupiter-5.4.2.jar;C:UsersAdministrator.m2repositoryorgjunitjupiterjunit-jupiter-api5.4.2junit-jupiter-api-5.4.2.jar;C:UsersAdministrator.m2repositoryorgapiguardianapiguardian-api1.0.0apiguardian-api-1.0.0.jar;C:UsersAdministrator.m2repositoryorgopentest4jopentest4j1.1.1opentest4j-1.1.1.jar;C:UsersAdministrator.m2repositoryorgjunitplatformjunit-platform-commons1.4.2junit-platform-commons-1.4.2.jar;C:UsersAdministrator.m2repositoryorgjunitjupiterjunit-jupiter-params5.4.2junit-jupiter-params-5.4.2.jar;C:UsersAdministrator.m2repositoryorgjunitjupiterjunit-jupiter-engine5.4.2junit-jupiter-engine-5.4.2.jar;C:UsersAdministrator.m2repositoryorgjunitplatformjunit-platform-engine1.4.2junit-platform-engine-1.4.2.jar;C:UsersAdministratorIdeaProjectsuntitled3libdom4j-1.6.1.jar" junit.JUnitStarter -ideVersion5 -junit5 c2
小龙女19古墓派掌门人女
欧阳锋21白驼山,蛤蟆神功男
小龙女19古墓派掌门人女
01Process finished with exit code 0
<?xml version="1.0" encoding="UTF-8" ?>
<books><book id="100"><name>西游记</name><author>吴承恩</author><price>80</price></book><book id="200"><name>三国演义</name><author>吴冠中</author><price>100</price></book>
</books>
/*** @author 韩顺平* @version 1.0*/
public class Book {private Integer id;private String name;private String author;private Double price;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price = price;}@Overridepublic String toString() {return "Book{" +"id=" + id +", name='" + name + ''' +", author='" + author + ''' +", price=" + price +'}';}
}
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.File;
import java.util.List;/*** @author 韩顺平* @version 1.0*/
public class Homework {public static void main(String[] args) throws DocumentException {//1.得到解析器SAXReader saxReader = new SAXReader();//2.指定解析哪个xml文件Document document = ad(new File("l"));//3.遍历所有的book元素List<Element> books = RootElement().elements("book");for (Element book : books) {//取出book元素的所有信息Element name = book.element("name");Element author = book.element("author");Element price = book.element("price");String id = book.attributeValue("id");//创建成Book对象Book book1 = new Book();book1.setId(Integer.parseInt(id));book1.Text());book1.setPrice(Double.Text()));book1.Text());System.out.println("book1对象信息= " + book1);}}
}
book1对象信息= Book{id=100, name='西游记', author='吴承恩', price=80.0}
book1对象信息= Book{id=200, name='三国演义', author='吴冠中', price=100.0}Process finished with exit code 0
本文发布于:2024-02-05 05:34:47,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170725302063477.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |