I found the problem.. a cut and paste error
root = RootDocument.Factory.parse(new
File("./src/test/resources/device.xml"));
I forgot the new File() :(
now when I do root.toString();
I see the original file imported.. that,s perfect.
now I need to copy the Root into a Pojo.
there is a easy way to do that ? and I need to find out which attributes
are not in the schemas.. like that I'll convert them in a structure like
JAXB Map otherAttributes
2009/12/23 Sebastien Dionne <[email protected]>
> works fine with JAXB. and the syntax is fine.
>
>
> XSD
>
> <?xml version="1.0" encoding="utf-8"?>
> <root xmlns="urn:schemas-upnp-org:device-1-0">
> <device>
> <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
> <serviceList>
> <service>
>
> <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
>
> <serviceId>urn:upnp-org:serviceId:urn:schemas-upnp-org:service:ConnectionManager</serviceId>
> <SCPDURL>ConnectionManager.xml</SCPDURL>
> <controlURL>ConnectionManager/Control</controlURL>
> <eventSubURL>ConnectionManager/Event</eventSubURL>
> </service>
> </serviceList>
> </device>
> </root>
>
>
> XML received
>
> <?xml version="1.0" encoding="utf-8"?>
> <root xmlns="urn:schemas-upnp-org:device-1-0">
> <device>
> <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
> <serviceList>
> <service>
>
> <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
>
> <serviceId>urn:upnp-org:serviceId:urn:schemas-upnp-org:service:ConnectionManager</serviceId>
> <SCPDURL>ConnectionManager.xml</SCPDURL>
> <controlURL>ConnectionManager/Control</controlURL>
> <eventSubURL>ConnectionManager/Event</eventSubURL>
> </service>
> </serviceList>
> <dlna:X_DLNADOC xmlns:ns2="urn:schemas-upnp-org:device-1-0"
> xmlns="">DMS-1.00</dlna:X_DLNADOC>
> </device>
> </root>
>
> 2009/12/23 Cezar Andrei <[email protected]>
>
>> It’s probably because the document is not a well formed XML document.
>>
>>
>>
>> Cezar
>>
>>
>> ------------------------------
>>
>> *From:* Sebastien Dionne [mailto:[email protected]]
>> *Sent:* Wednesday, December 23, 2009 11:17 AM
>>
>> *To:* [email protected]
>> *Subject:* Re: Xmlbeans is able to retrieve extra attribute from xml ?
>>
>>
>>
>> thanks, but why do I obtain a exception CDATA when I parse a xml that
>> contains more data then the schema ?
>>
>> RootDocument root = RootDocument.Factory.parse(new
>> File("./src/test/resources/
>>
>> RootDevice.xml"));
>> System.out.println(root.toString());
>>
>> Exception in thread "main" org.apache.xmlbeans.XmlException: error:
>> Unexpected element: CDATA
>> at
>> org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3486)
>> at org.apache.xmlbeans.impl.store.Locale.parse(Locale.java:712)
>>
>>
>>
>> 2009/12/23 Cezar Andrei <[email protected]>
>>
>> Sebastien,
>>
>>
>>
>> It is possible, please check the XmlCursor interface. On the xmlbeans
>> object you have the attributes, call:
>>
>> XmlCursor xc = xobj.getCursor(); . Move the cursor around with
>> xc.toFirstAttribute(); xc.toNextAttribute();
>>
>> And get info on the current token, in your case the attribute: xc.getName
>> xc.getTextValue, and when you’re done call xc.dispose().
>>
>>
>>
>> Cezar
>>
>>
>> ------------------------------
>>
>> *From:* Sebastien Dionne [mailto:[email protected]]
>> *Sent:* Wednesday, December 23, 2009 7:10 AM
>> *To:* [email protected]
>> *Subject:* Xmlbeans is able to retrieve extra attribute from xml ?
>>
>>
>>
>> I have a simple question.
>>
>>
>>
>> I have a xsd standard (string..no complextype).
>>
>> I receive xml message that can contains extra attributes that are not in
>> the xsd.
>>
>> With JAXB they are put into
>>
>> /**
>> * Gets a map that contains attributes that aren't bound to any typed
>> property on this class.
>> *
>> * <p>
>> * the map is keyed by the name of the attribute and
>> * the value is the string value of the attribute.
>> *
>> * the map returned by this method is live, and you can add new
>> attribute
>> * by updating the map directly. Because of this design, there's no
>> setter.
>> *
>> *
>> * @return
>> * always non-null
>> */
>> public Map<QName, String> getOtherAttributes() {
>> return otherAttributes;
>> }
>>
>> but is it possible to do something similar with xmlbeans ?
>>
>> It a showstopper if I can't do that.
>>
>> thanks
>>
>>
>> --
>> -------------
>> A+
>>
>> Sébastien.
>>
>> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
>> http://twitter.com/survivant
>>
>>
>>
>>
>> --
>> -------------
>> A+
>>
>> Sébastien.
>>
>> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
>> http://twitter.com/survivant
>>
>
>
>
> --
> -------------
> A+
>
> Sébastien.
>
> Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
> http://twitter.com/survivant
>
--
-------------
A+
Sébastien.
Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant