用JAXB存取XML数据
JAXB概要
JAXB为Java Architecture for XML Binding的缩写,意为XML绑定的JAVA框架。它提供了一套可以简单存取XML数据的API,同时,JAXB可以根据XML的schema自动生成操作XML的JAVA类。利用JAXB,使用JAXB自动生成的操作XML的JAVA类,可以基本上不用考虑XML结构而简单地存取XML数据。
JAXB的下载与安装
JAXB至少需要导入以下jar文件。
activation.jar
jaxb-api.jar
jaxb-impl.jar
jaxb-xjc.jar
根据情况,可能还会需要其它jar文件。
下载:
可以通过
http://java.sun.com/webservices/downloads/webservicespack.html
下载JAXB。
XML原型
Order.xml
<?xml version="1.0" encoding="utf-8" ?>
<project default="xjc-compile" basedir=".">
<property name="src.dir" location="src" />
<property name="lib.dir" location="lib/jaxb" />
<property name="xml-schema.dir" location="xml-schema" />
<property name="schema.name" value="Orders.xsd" />
<property name="package" value="com.test" />
<path id="classpath">
<fileset dir="${lib.dir}" includes="*.jar" />
</path>
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="classpath" />
<target name="xjc-compile">
<echo message="Build Jaxb Class from Schema" />
<xjc schema="${xml-schema.dir}/${schema.name}" target="${src.dir}" package="${package}" />
</target>
</project>
在eclipse里新建项目JaxbProject。目录阶层为:
\JaxbProject
--lib
--jaxb
--activation.jar
--jaxb-api.jar
&n
相关文档:
using System.Xml;
//初始化一个xml实例
XmlDocument xml=new XmlDocument();
//导入指定xml文件
xml.Load(path);
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));
//指定一个节点
XmlNode root=xml.SelectSingleNode("/root");
//获取节点下所有直接子节点
XmlNodeList childlist=root ......
<Records>
<Record>
<id>1 </id>
<name>李四 </name>
</Record>
<Record>
<id>2 </id>
<name>张三 </name>
</Record>
<Record>
<id>3 </id>
<name>王五 </name>
</Record& ......
我们常常需要读取xml文件,把里面的信息转化为我们自定义的类型,或则吧自定义类型转化为Xml字符串。在这里介绍一个比较简单的对象转化方法。在我自己的Framwork里面也多次用到。里面涉及到节点、属性、集合。
示例一 该xml文件涉及到属性、节点集合不涉及个节点:
<?xml version="1.0" encoding="utf-8"?>
<da ......
这是一篇讲解如何使用XML实现Flash与通信的入门级实例教程。通过本例的学习,我们将了解使用XML开发Flash RIAs的基本流程。
从Flash Player 5开始,就可以使用XML对象来实现Flash与后台通信。Flash浏览器与XML数据之间的直接进行数据交换,并且同LoadVars函数一样,都是以字符串形式传递的。后台语言作为XML数据和数据库 ......
读XML文件
DataSet books = new DataSet();
books.ReadXml(MapPath("booklist.xml"));
booklist.DataSource = books;
booklist.DataBind(); ......