微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

1.1xml基本知识

1.xml 头和文本转义内容

<?xml version="1.0" encoding="UTF-8" ?>

version:表示xml规范

Encoding :字符编码

Standalone[yes|no]: 是否是独立的yes不能引用外部的DTD规范文件;no表示可以引用外部的DTD规范文档

转义字符

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

单引号

&quot;

"

双引号

<![CDATA[<>!]]>将内容作为普通字体处理

<?处理指令名 处理指令信息?>

<?xml-stylesheettype="text/css"?>

2.DTD(DocumentType DeFinition) 约束xml内容

如:<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">


dtd3种分类

内部:<!DOCTYPE root[

]>

<root>Xml主体

</root>

外部:<!DOCTYPE root

SYstem “url”

>

公用:!DOCTYPEroot

PUBLIC “DTD标识名” “url”

>


3.xml 命名空间

作用:相当于java的包,避免元素名称重复;

xmlns= 认命名空间

引入其他命名空间 xmlns:context="http://www.springframework.org/schema/context"

使用其他命名空间 <context:component-scan base-package="jdbc.transaction">


4.xml解析

Xerces 解析 xml jdk1.5 以上自动包含

DocumentBuilderFactory

DocumentBuilder

SAXParserFactory

SAXParser


4.1 xpath:查找元素或者属性

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)


轴(axis):定义所选节点与当前节点之间的树关系 子节点,兄弟,祖先等等

节点测试(node-test):识别某个轴内部的节点 (如选择book节点)

零个或者更多谓语(predicate):更深入地提炼所选的节点集(添加条件限制,如作者)

语法:

名称::节点测试[谓语]


java xpath 解析xml

XPathFactory xmlFactory=XPathFactory.newInstance();

XPath xpath=xmlFactory.newXPath();


Node node=(Node) xpath.evaluate("/configuration",node,XPathConstants.NODE);//xpath表达式,当前节点,返回元素类型


常见问题

//node.getChildNodes(); 返回的类型有: Element,Text,Attribute,RootElement,Comment,Namespace等。
//可以根据返回的节点类型过滤,得到想要的类型。


5.xml与property转换

property.loadFromXML(inputstream);

property.storetoXML(outputstream,"properties to xml");

原文地址:https://www.jb51.cc/xml/296175.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。