随机文章
热门推荐

javaWeb 学习之旅(二)--------XML的使用方法

发布时间:2017-09-05 11:42:29
javaWeb 学习之旅(二)--------XML的使用方法

二、xml的使用方法
1.最简单的声明语法:
<?xml version="1.0"?>

常用的方法有:<?xml version="1.0" encoding="UTF-8"?>或者<?xml version="1.0" encoding="GB2312"?>

还有一个属性:说明文档是否独立 standalone="yes"

CDATA区: xml解析程序不会处理,按原样输出,语法如下: <![CDATA[内容]]>

2.DTD约束

book.xml

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


<!DOCTYPE 书架 SYSTEM "book.dtd">

<书架>
<书>
<书名> 数据结构</书名>
<作者> 某某某</作者>
</书>
<书>
<书名> 大学语文</书名>
<作者> 某某某</作者>
</书>
</书架>

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


<!DOCTYPE 书架 SYSTEM "book.dtd">

<书架>
<书>
<书名> 数据结构</书名>
<作者> 某某某</作者>
</书>
<书>
<书名> 大学语文</书名>
<作者> 某某某</作者>
</书>
</书架>book.dtd

[plain] view plaincopyprint?<!ELEMENT 书架(书+)>

<!ELEMENT 书 (书名,作者)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>

<!ELEMENT 书架(书+)>

<!ELEMENT 书 (书名,作者)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>

2.Dom和Sax解析方法的区别:
1.Dom 解析的优点,对文档的增、删、改、查、比较方便,缺点占用的内存较大

2.Sax解析的优点是占用内存少, 解析速度快,缺点是只适合做文档的读取,不适合做文档的增、删、改、查、

3.调整JVM的大小
JVM默认的是64M的内存,超过之后,后抛出异常

配置JVM的大小如下: run as --Open Run Dialog -----------Argument----- VM argument 中输入 -Xmx90m 这样就可以配置90M的内存  

4.XML解析技术
XML的解析开发包如下: Jaxp(Sun) Jdom dom4j

1.DOM解析步骤:
得到XML文档
[cpp]
// 1.创建工厂
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
// 2.得到dom解析器
DocumentBuilder builder=factory.newDocumentBuilder();
// 3.解析xml文档,得到代表文档的document
Document document=builder.parse("src/test.xml");

// 1.创建工厂
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
// 2.得到dom解析器
DocumentBuilder builder=factory.newDocumentBuilder();
// 3.解析xml文档,得到代表文档的document
Document document=builder.parse("src/test.xml");
更新后的内容重新写入XML文档中


[java]
// 更新后的内容写会XML文档中
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult(
new FileOutputStream("src/test.xml")));

// 更新后的内容写会XML文档中
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult(
new FileOutputStream("src/test.xml")));


XML中的一些方法

获取属性的

[java]
// 得到根节点
Element element = (Element) document.getElementsByTagName("书名").item(0);
String value = element.getAttribute("name");
System.out.println(value);

// 得到根节点
Element element = (Element) document.getElementsByTagName("书名").item(0);
String value = element.getAttribute("name");
System.out.println(value);
在指定位置增加节点元素

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站优化 http://www.feimao666.com

本站所有原创信息,未经许可请勿任意转载或复制使用
COPYRIGHT © 2015 浑源新闻网 ALL RIGHTS RESERVED.