xml解析与创建
下午看了一下dom和dom4j,感觉这两者在解析方面差不多,但是dom4j要比dom简单一些,在创建一个xml文件,dom4j要比dom简单太多了,毕竟人家都帮我们封装好了。
dom是不需要加包的,而dom4j要加一个dom4j-1.6.1.jar这个包。具体的下载路径是:http://www.dom4j.org/
下面我说一下这两者如何解析和创建,以及他们的区别。xml个人觉得是蛮重要的,因为它是可扩展的,怎么说呢,xml也许会代替html。
dom的解析的代码如下:
private static void read() {
File file = new File("src/xml/student.xml");
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(file);
NodeList node = doc.getChildNodes();
for (int i = 0; i < node.getLength(); i++) {
Element e = (Element) node.item(i);
// System.out.println(e.getNodeName());
boolean flag = e.hasChildNodes();
if (flag) {
NodeList list = e.getChildNodes();
for (int j = 0; j < list.getLength(); j++) {
e = (Element) list.item(i);
System.out.println(e.getNodeName());
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
这个只是解析到第二层,接下去的解析与第二层的解析是一样的。。我简单的说一下步骤吧:
首先创建一个document工厂,通过工厂来得到DocumentBuilder ,再由builder来得到document。builder.parse(file)可以得到一个file文件,同时丢出ParserConfigurationException这个异常。
xml的解析、创建都是基于这个document的,在创建一个xml也是同样的方法,要先创建一个document。
再接下来通过document得到一系列的子结点,NodeList与List还是有所区别的,在list里面有一个iterator,但是遍历NodeList只能用for循环。在list里面得到元素,是用list.get(i),而NodeList是list.item(i)拿到子元素。接下来就是判断子元素里面是不是还有子元素。
dom4j的解析的代码如下:
private static void read() {
File file=new File("src/xml/writer.xml");
SAXReader reader=new
相关文档:
最近在项目中遇到flex跨域访问的安全沙箱问题,查资料了解到需要在服务端加上crossdomain.xml文件,即:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-do ......
xml -声明-引发的异常
XML 声明 [XML 标准]
XML 声明通常在 XML 文档的第一行出现。XML 声明不是必选项,但是如果使用 XML 声明,必须在文档的第一行,前面不得包含任何其他内容或空白。
文档映射中的 XML 声明包含下列内容:
版本号 <?xml version="1.0"?>。
这是必选项。尽管以后的 XML 版本可能会更改该 ......
HTML.html文件
<div align="center" class="style1">
<p>冰棍列表</p>
<p></p>
<table width="400" border="1">
<tr>
<th scope="col"><font size="4">品牌</font></th> ......
wsdl.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="MobilePhoneService"
targetNamespace="www.mobilephoneservice.com/MobilePhoneService-interface"
xmlns="http://schemas.xmlsoap.org/wsdl/"
  ......
xml文件为:
<?xml version="1.0" encoding="UTF-8"?>
<mobile-list>
<mobile type="Nokia2652">
<wap2>false</wap2>
<width>115</width>
</mobile>
<mobile type="Nokia2650">
<wap2>false</wa ......