Olá Pessoal,
será que alguém já ouviu falar
do Castor xml? O meu professor
aqui da Universidade Federal de Lavras(UFLA)
falou para eu usá-lo, eu estava usando o framework
Xstream que eu fiquei conhecendo aqui no GUJ mesmo,
ele é muito bom e simples, mas o meu professor
quer que eu use o Castor xml acho que é por causa
do JDO que eu terei que usar mais tarde.
importjava.util.Vector;importjava.util.Enumeration;publicclassMyOrder{privateString_ref;privateClientData_client;privateVector_items;privatefloat_total;publicvoidsetReference(Stringref){_ref=ref;}publicStringgetReference(){return_ref;}publicvoidsetClientData(ClientDataclient){_client=client;}publicClientDatagetClientData(){return_client;}publicvoidsetItemsList(Vectoritems){_items=items;}publicVectorgetItemsList(){return_items;}publicvoidsetTotal(floattotal){_total=total;}publicfloatgetTotal(){return_total;}// Do some processing on the datapublicfloatgetTotalPrice(){floattotal=0.0f;for(Enumeratione=_items.elements();e.hasMoreElements();){Itemitem=(Item)e.nextElement();total+=item._quantity*item._unitPrice;}returntotal;}}
<?xml version="1.0"?><!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" "http://castor.org/mapping.dtd"><mapping><classname="MyOrder"><map-toxml="Order"/><fieldname="Reference"type="java.lang.String"><bind-xmlname="reference"node="attribute"/></field><fieldname="Total"type="float"><bind-xmlname="total-price"node="attribute"/></field><fieldname="ClientData"type="ClientData"><bind-xmlname="Client"/></field><fieldname="ItemsList"type="Item"collection="vector"><bind-xmlname="Item"/></field></class><classname="ClientData"><fieldname="Name"type="java.lang.String"><bind-xmlname="Name"node="element"/></field><fieldname="Address"type="java.lang.String"><bind-xmlname="Address"node="element"/></field></class><classname="Item"><fieldname="_reference"type="java.lang.String"direct="true"><bind-xmlname="reference"node="attribute"/></field><fieldname="_quantity"type="integer"direct="true"><bind-xmlname="Quantity"node="element"/></field><fieldname="_unitPrice"type="float"direct="true"><bind-xmlname="UnitPrice"node="element"/></field><fieldname="_description"type="string"direct="true"><bind-xmlname="Description"node="element"/></field></class></mapping>
importorg.exolab.castor.mapping.Mapping;importorg.exolab.castor.mapping.MappingException;importorg.exolab.castor.xml.Unmarshaller;importorg.exolab.castor.xml.Marshaller;importjava.io.IOException;importjava.io.FileReader;importjava.io.OutputStreamWriter;importorg.xml.sax.InputSource;publicclassmain{publicstaticvoidmain(Stringargs[]){Mappingmapping=newMapping();try{// 1. Load the mapping information from the filemapping.loadMapping("mapping.xml");// 2. Unmarshal the dataUnmarshallerunmar=newUnmarshaller(mapping);MyOrderorder=(MyOrder)unmar.unmarshal(newInputSource(newFileReader("order.xml")));// 3. Do some processing on the datafloattotal=order.getTotalPrice();System.out.println("Order total price = "+total);order.setTotal(total);// 4. marshal the data with the total price back and print the XML in the consoleMarshallermarshaller=newMarshaller(newOutputStreamWriter(System.out));marshaller.setMapping(mapping);marshaller.marshal(order);}catch(Exceptione){System.out.println(e);return;}}}
ricardocomp
Blz Thingol?
Então eu já adicionei
o jar do Castor no meu Path
e estou tentando fazer
este exemplo do site
do castor mesmo para
poder usar-lo no meu
projeto aqui, mas o exemplo
está dando erro toda hora
e eu não sei o acotencendo,
será que você thingol ou alguém poderia
me ajudar?
já quebrei a cabeça aqui mas não estou conseguindo.
[]'s.
ricardocomp
O meu Projeto
é sobre Autenticação
e Autorização distribuida,
e vou precisar usar o Castor.
Será que alguém poderia me
ajudar?
[]'s.
T
thingol
Você precisa adicionar mais alguns jars. No seu caso deve ser o commons-logging (pela mensagem de erro, org/apache/commons/logging/LogFactory é o nome da classe, e ela pode ser encontrada em http://commons.apache.org/logging/ ) e o log4j, http://logging.apache.org/log4j/
ricardocomp
Como que eu iria saber
que tinha adicionar
esses jars extras?
Muito Obrigado mesmo
pela ajuda thingol
eu não iria saber
o que fazer, pois
eu nunca tinha visto
este tipo de erro antes.
Eu só não entendi agora é como que ele não está encontrando
a classe MyOrder sendo que ela está aqui no meu Projeto
e os arquivos mapping.xml e order.xml já estão salvo
no meu projeto e posso até vê-los aqui dentro do eclipse?