5.9总结 Jaxp 解析xml文件两种方式__TOmcat 的配置
1. Jaxp 解析xml文件 Dom方式
<?xml version="1.0" encoding="gbk"?>
<students>
<student id="001">
<name>张三</name>
<age>25</age>
</student>
<student id="002">
<name>李四</name>
<age>23</age>
</student>
<student id="003">
<name>王五</name>
<age>35</age>
</student>
<student id="004">
<name>周六</name>
<age>20</age>
</student>
</students>
1、获取DocumentBuilder对象
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance
2通过工厂获取documentBulider对象
DocumentBuilderFatory document=factory.newDocumentBulider();
3,使用DocumentBuilder对象的解析方法,与xml文件关联。获取该文件的。doucment对象。
Document document = (Document) builder.parse(new File("stu.xml"));
---------------------------------------------------------------------------------------------------------------
2 获取Element:
NodeList list=document.getDocumentElement().getElementsByTagName("student");
for(int i=0;i<list.getLength();i++)
{
Element element=(Element) list.item(i);
NodeList list2=element.getChildNodes();
Node node = list2.item(3);
System.out.println(node.getTextContent()+".."+node.getNodeName()+"..."
+node.getNodeType()+"..."+node.getNodeValue());
}
在以上的程序中 list2.item(3)获取的是studen标签下的age 标签 ,因为空白区域也是占有一个节点
如果改为 Node node = list2.item(2) 就会得到:
&nb
相关文档:
经常见XML序列化的文章,对该序列化方式并不是太晓得,看了MSDN和一些资料后有了大致的了解,大道理讲不出来,上 代码先:
方式一 通过XmlSerialize直接序列化:
Class BeSerialized
{
//某字段
public int someFiled;
//公共类的一个可序列化的属性
private bool serialme;
public bool SerialMe
{
......
请看下面的示例:
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person> ......
JAVA对象转换为XML格式
简单的颤述下如何将JAVA对象转换为XML格式,详细了解请进入http://xstream.codehaus.org/tutorial.html
JAVABEAN对象
userInfo.java
private String name;
& ......
使用VS2005工具XSD.exe(SDK\v2.0\Bin\xsd.exe)自动生成实体类:
xsd /c /namespace:myCompany /language:CS temp1.xsd
也可以生成DataSet类型的类:
xsd /dataset /language:CS temp1.xsd
( 类文件和XSD之间可以相互转换,也就是说,你也可以先生成类,然后自动生成XSD)
自动读取XML数据 ......
package test;
import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
/**
* Book 实体对象,此处用XMap注解
* @author Administra ......