加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml 学习1

发布时间:2020-12-16 05:25:54 所属栏目:百科 来源:网络整理
导读:一只纯菜鸟的角度 .... 持续更新中。一如既往,求指教,求更正。 以前配置不少 xml 文件,比如 :servlet 中的 web.xml (用来管理 jsp 中的动作和其对应的 servlet ) ;Structs 中的 strcuts-config.xml (关联表单和对应的 action ); Hibernate 中的 hibe

一只纯菜鸟的角度....持续更新中。一如既往,求指教,求更正。

以前配置不少xml文件,比如:servlet中的web.xml(用来管理jsp中的动作和其对应的servlet;Structs中的strcuts-config.xml(关联表单和对应的action);Hibernate中的hibernate.cfg,xml(简单封装数据库连接;配置数据库中的表和实体类的对应),xx.hbm.xml(配置表和实体映射的关系)。一直把xml当成个“打酱油”的角色在用,直到最近专门学习xml,才知道xml其实也能逆袭。

XML简介:

百度百科说了一大篇,专业名称也说了不少,作为计算机专业的我yy地总结下:

Xml就是一种自己写的文档,只要符合一定的规范,就能在不同平台,不同软件间交换数据。

关于xml的解析:

为什么要解析?怎么解析?等研究后再写,先弄个简单实例入入门

趋势:

从发展趋势上讲json有边缘化xml的迹象,具体原因我也清楚,没有实践就没有发言权。大家可以赐教啊,老是我一个人独白.....

XML的一个超超简单实例:写了xml,并用dom进行解析.

本例在xml中存放个student信息,让后通过两种解析方式将学生信息打印在控制台。

这里我使用了外部DTD文档,先看看具体要求

1:根元素为students,下面至少有一个student

2student有必须的sid属性为主键,有可以省略的markup属性。引用sid的值

3student下有namesexagebirthdayaddressrelational元素

4name可以有first_namesecond_name元素

5sexvalue属性,只能是男或女

6birthdayyearmonthday子元素

7address可以出现多次,有属性city,默认为changsha

8relationaltype属性,固定为tel

------------------------DTD文件

<?xmlversion="1.0"encoding="UTF-8"?>

<!ELEMENTENTER_NAME_OF_ROOT_ELEMENT_HEREEMPTYstudents(student)+student(name,sexagebirthdayaddress+,95)">relational)name(first_name*,95)">second_name*)birthday(yearmonthday)>

first_name(#PCDATA)second_namesexageyearmonthdayaddressrelational<!ATTLISTstudentsidCDATA#REQUIREDsexvalue(|)"男"addresscityCDATA"长沙"relationaltype#FIXED"tel">

------------------------------xml文件

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEstudentsSYSTEM"Students.dtd">

<studentsstudentsid="1"namefirst_name>"ss"</second_name>"ssx"sexvalue="男"/>

age>45birthdayyear>1899month>12day>4addresscity="北京"relationaltype="tel">hhssssdrelationalstudent>

---------------------解析文件

publicclassDomDemo{

staticvoidmain(String[]args){

//获得xml文件

FilexmlFile=newFile(

"F:SHHXMLsrccnbltest1Untitled2.xml");

//相对路径不行啊FilexmlFile=newFile("studens.xml");

//声明一个DocumentBuilder对象

DocumentBuilderbuilder=null;

//声明一个DocumnetBuilderFactory,并用单例模式创建

DocumentBuilderFactorybuilderFactory=DocumentBuilderFactory

.newInstance();

try{

builder=builderFactory.newDocumentBuilder();//获得默认的DocumnetBuilder

Documentdocument=builder.parse(xmlFile);//解析文件

Elementroot=document.getDocumentElement();//获得根元素

System.out.println("根元素:"+root.getNodeName());

NodeListchildNodes=root.getChildNodes();

//获得子节点

for(inti=0;i<childNodes.getLength();i++){

Nodenode=childNodes.item(i);

System.out.println(node.getTextContent().trim());

}

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

---------运行结果

根元素:students

"ss""ssx"451899124hhssssd

xml好像入门了,又好像一无所知。持续努力中.......待续

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读