|
以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Java/Eclipse 』 (http://bbs.xml.org.cn/list.asp?boardid=41) ---- 有没有人用过Castor的?(紧急求助) (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=8811) |
|
-- 作者:凤舞九天 -- 发布时间:7/15/2004 12:46:00 PM -- 有没有人用过Castor的?(紧急求助) Mapping mapping = new Mapping(); mapping.loadMapping("mapping.xml"); Unmarshaller un = new Unmarshaller(Functree.class); 执行到第四句时出错如下:
|
|
-- 作者:凤舞九天 -- 发布时间:7/15/2004 12:52:00 PM -- 哭求,在线等
|
|
-- 作者:mfc42d -- 发布时间:7/16/2004 12:24:00 PM -- 请你把详细的源码和xml文件贴出来 |
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:46:00 PM -- 刚刚把这个问题搞定了:) 直接贴找到的结论吧: How to get Address Books from XML file using mapping file Is your Person class in a package? If so you will need to modify the mapping.xml file to include the package name before the class name. For example if you put the Person class in a package called MyPackage you would make the following changes to the mapping.xml file: |
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:50:00 PM -- 源码如下: 首先声明是转贴的哦:) 1. 一 最简单的XML文件的操纵 /** public class Person { // -- allows us to create a Person via the constructor // -- used by the data-binding framework // -- accessors public String getAddress() { return address; } public String getSsn() { return ssn; } public String getEmail() { return email; } public String getHomePhone() { return homePhone; } public String getWorkPhone() { return workPhone; } // -- mutators public void setAddress(String address) { public void setSsn(String ssn) { this.ssn = ssn; } public void setEmail(String email) { this.email = email; } public void setHomePhone(String homePhone) { public void setWorkPhone(String workPhone) { |
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:51:00 PM -- 这是一个读取person.xml文件的例子 /* * ReadPerson.java * * Created on 2001Äê12ÔÂ25ÈÕ, ÏÂÎç3:32 */ /** public class ReadPerson {
|
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:52:00 PM -- 2. 2 生成XML文件 下面是生成XML文件的例子: /* /** public class CreatePerson { // -- marshal the person object out as a <person>
|
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:53:00 PM -- 3. 3 修改现有的XML文件 修改现有的XML文件也很简单 /* * ModifyPerson.java * * Created on 2001Äê12ÔÂ25ÈÕ, ÏÂÎç5:12 */ /** public class ModifyPerson { // -- marshal the changed person back to disk |
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:53:00 PM -- 2. 二 复杂XML文件的操纵 这个例子演示了如果操纵复杂的xml文件 文件addressbook.xml如下 <?xml version="1.0"?> <addressbook name="Manchester United Address Book"> <person name="Roy Keane"> <address>23 Whistlestop Ave</address> <ssn>111-222-3333</ssn> <email>roykeane@manutd.com</email> <home-phone>720.111.2222</home-phone> <work-phone>111.222.3333</work-phone> </person> <person name="Juan Sebastian Veron"> <address>123 Foobar Lane</address> <ssn>222-333-444</ssn> <email>juanveron@manutd.com</email> <home-phone>720.111.2222</home-phone> <work-phone>111.222.3333</work-phone> </person> <person name ="Bob Harris"> <ssn>222-222-2222</ssn> <address>123 Foo Street</address> <work-phone>(123) 123-1234</work-phone> <home-phone>(123) 123-1234</home-phone> <email>bob@harris.org</email> </person> 可以看到,addressbook包含多条记录,每条记录是一个通讯录。为了对应复杂的xml文件,需要一个mapping.xml文件,来说明xml文件的项目和java object的对应关系 <?xml version="1.0"?> <mapping> <class name="Person"> <class name="Addressbook"> </mapping> import java.util.List; public class Addressbook { public Addressbook() { } // -- manipulate the List of Person objects public List getPersons() { // -- manipulate the name of the address book public void setName(String name) { |
|
-- 作者:凤舞九天 -- 发布时间:7/26/2004 2:54:00 PM -- 察看addressbook的java 代码 import org.exolab.castor.xml.*; import java.io.FileReader; public class ViewAddressbook { Unmarshaller un = new Unmarshaller(Addressbook.class); // -- Read in the Addressbook using the mapping // -- Display the addressbook List persons = book.getPersons(); while ( iter.hasNext() ) { System.out.println("\n" + person.getName() );
|
|
-- 作者:yu145 -- 发布时间:8/18/2004 5:14:00 PM -- 真是不错啊~~~涉及这个的帖子少啊~~~终于找到了,谢了啊~~~要是能多贴点就好了
———————————————————————————————————— |
|
-- 作者:zhangshw -- 发布时间:1/11/2005 6:11:00 PM -- 我也在学习这个方面,好象学这个的人不多,用他来能生成XML文档吗?多多交流好吗?QQ::122534682 |
|
-- 作者:zhangshw -- 发布时间:1/11/2005 9:05:00 PM -- to:凤舞九天 据我所知,castor可以根据给定的模式文档自动生成一系列的Java类,但我不知道怎么做,不知能否赐教,QQ:122534682 |
|
-- 作者:bigc -- 发布时间:3/10/2005 10:29:00 AM -- 刚来,谢了,不知 用jaxb如何使用 |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
113.281ms |