志在指尖
用双手敲打未来

java xml(Java怎么解析xml文件)

  javaxml

XML代表可扩展标记语言。它是一种数据表示格式,可以描述非常复杂的数据结构,经常用于传输和存储数据。
XML的几个特性和使用场景:
一种是纯文本,默认使用UTF-8编码。二是可嵌套;
如果XML内容保存为文件,则它是一个XML文件。
XML使用场景:XML内容通常作为消息在网络上传输,或者用作在系统中存储信息的配置文件。
XML创建、语法规则
XML来创建
这将创建一个带有XML后缀的XML文件,例如hello_world.xml
IDEA创建XML文件的步骤:
XML语法规则
XML文件扩展名:XML
文档声明必须是第一行
XML的标签(元素)规则:
标签由一对尖括号和一个有效标识符组成:<name></name>。必须有一个根标签。肯定只有一个。
标签必须成对出现,有一个开始和一个结束:<name></name>
特殊标记可以不配对,但必须有结束标记,如<br/>
属性可以在标记中定义,在属性和标记名称之间用空格分隔。属性值必须用引号括起来**<学生ID=”1″></学生>**
标签需要正确嵌套
XML的其他组件:
注释信息可以在XML文件中定义:<!–</span–>————评论内容——>
XML文件中可能存在以下特殊字符
XML文件可以包含CDATA部分:<!–</span–>——</span>[CDATA[…内容……]]>
<!——?XML版本=”1.0″encoding=”utf-8″?>
<!————注释:根标签有且只能有一个——>
<学生></学生>
<name>DaughterKing</name>
<sex>women</sex>
<爱好>追求唐僧<!–爱好–>
<信息></信息>
年龄30<时代></>
<addr>女性所在国家</addr>
<sql></sql>
查询年龄小于18岁的用户
Select*fromage<18&&age>
<!——</span>[CDATA[
查询年龄小于18岁的用户
]]>
XML文档约束模式I-DTD约束[理解]
文档约束:定义应该如何编写XML文件中的标签和属性。
这迫使程序员根据文档约束编写XML文件。
文档约束分类:
DTD
模式
使用dtd:
要求:
使用DTD文档约束来约束XML文件的写入。
分析:
编写DTD约束文档,这些文档必须具有.DTD后缀
<!——ELEMENTBookshelf(Book+
<!——ELEMENTBook(Title,Author,Price
<!——titleELEMENT(#PCDATA
<!——ELEMENT(#PCDATA
<!——ELEMENT(#PCDATA)的价格
在要编写的XML文件中导入DTD约束文档
按照约束指定的方式写入XML文件的内容。
<!——?XML版本=”1.0″encoding=”utf-8″?>
<!——DOCTYPEbookshelfSYSTEM”data.dtd
<>架子上
<书>
<标题>主JavaSE增强<!–</span–>——标题–>
<>作者dlei<!——作者——>
售价>非常贵!——售价——>
Book</a>
<书>
<标题><!——标题–>
<作者><!——作者——>
<售价><!–</span–>——售价——>
Book</a>
></书架
XML文档约束模式II-模式约束[理解]
Schema可以约束特定的数据类型,并且具有更强大的约束功能。
Schema本身也是一个XML文件,它也受到其他约束文件的要求,因此它的编写更加严格
使用模式:
要求:
使用模式文档约束,对XML文件的编译进行约束。
分析:
编写一个模式约束文档,该文档必须有后缀。xSD,以具体形式在代码中查看
在需要编写的XML文件中导入Schema约束文档
根据约束写XML文件的标签。

java

Java怎么解析xml文件

XML已经成为一种通用的数据交换格式,其平台无关、语言无关和系统无关的特性为数据集成和交互带来了极大的便利。要了解XML本身的语法知识和技术细节,有必要阅读相关的技术文献,其中包括DOM(文档对象模型)、DTD(文档类型定义)、SAX(简单APIFor)XML)、XSD(XML模式定义)、XSLT(可扩展样式表语言)。
XML在不同的语言中以相同的方式进行解析,但语法不同。有两种基本的解析类型,一种称为SAX,另一种称为DOM。SAX是基于事件流的解析,DOM是基于XML文档的树结构的解析。假设我们的XML的内容和结构如下:
30.
179
20.
179
以这种格式。
如果我想通过传递一个值来获得Employee中的一个参数,我需要获得name值来获得它对应的…代码如下:
//这里需要处理一个异常。
Filef=newFile(“D://ProgramFiles(x86)//apachetomcat6.0.18//webapps//WaterEnvPlatform//dataTemplate.”//mailEntryXML”);
DocumentBuilderFactory工厂=DocumentBuilderFactory.newInstance();
DocumentBuilderbuilder=factory.newDocumentBuilder();
org.w3c.dom。文档doc=builder.parse(f);
NodeListnl=doc.getElementsByTagName(“员工”);
for(inti=0;我<nl.getLength();我++){
元素e=(元素)nl.item(我);
Stringattribute=e.tgetattribute(“name”);
System.out.println(属性);
system.out。println(“年龄:”+
doc.getElementsByTagName(“时代”).item(i).getTextContent());//获取textContent在age中的值

生成一个XML文件:
1importjava.io.InputStream;2importjava.util.List;3.
4importorg.dom4j.Document;5importorg.dom4j.DocumentException;6importorg.dom4j.Element;7importorg.dom4j.io.SAXReader;8
9
10PublicclassTestXmlDom4J{11Publicstaticvoidmain(String[]args){12try{13//创建SAXReader对象
14SAXReader读者=newSAXReader();15//获取XML文件的文件流
16InputStream=TestXmlDom4J.class.getResourceAsStream(“test.xml”);17//注意:Document对象是org下的Document。dom4j包。Document对象是通过SAXReader对象的read(InputStream)方法获得的
18=reader.read文档文档(在);19//获取根元素。注意:Element是org下的一个元素。dom4j包
20根元素=document.getRootElement();21//获取Employee元素集合
22employeeElements=root.elements列表(“雇员”);23//迭代employeeElements,获取属性名的值
24for(元素e:employeeElements){25Stringname=e.attributevalue(“name”);26System.out.println(名称);27}28//迭代employeeElements,获取AGE元素的值
29for(元素E:employeeElements){30//获取AGE元素
31元素=e.element(“年龄”);32//获取age元素的值
33个字符串年龄=a.getText();34System.out.println(年龄);35}36}catch(DocumentExceptione){37//TODO自动生成的捕获块
38e.printStackTrace();39}}40和41}

未经允许不得转载:IT技术网站 » java xml(Java怎么解析xml文件)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载