Getting CDATA using Jaxb

mekrem

New Member
Inside my xml file i have the following tag.\[code\] <ST><![CDATA[IN2 := TRUE;]]> </ST>\[/code\]I want to extract CDATA within the tag. I tried using Eclipselink MOXy and it gave the following error while unmarshalling.\[code\]Project project = (Project) jaxbUnmarshaller.unmarshal(file);\[/code\]Error:\[code\] Exception in thread "main" Local Exception Stack: Exception [EclipseLink-3002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ConversionExceptionException Description: The object [], of class [class java.lang.String], from mapping [org.eclipse.persistence.oxm.mappings.XMLDirectMapping[scaling-->scaling/text()]] with descriptor [XMLDescriptor(org.plcopen.xml.tc6.Project$ContentHeader$CoordinateInfo$Fbd --> [])], could not be converted to [class org.plcopen.xml.tc6.Project$ContentHeader$CoordinateInfo$Fbd$Scaling]. at org.eclipse.persistence.exceptions.ConversionException.couldNotBeConverted(ConversionException.java:71) at org.eclipse.persistence.internal.helper.ConversionManager.convertObject(ConversionManager.java:169) at org.eclipse.persistence.internal.oxm.XMLConversionManager.convertObject(XMLConversionManager.java:183) at org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.convertObject(DatasourcePlatform.java:160) at org.eclipse.persistence.oxm.mappings.XMLDirectMapping.getAttributeValue(XMLDirectMapping.java:293) at org.eclipse.persistence.internal.oxm.XMLDirectMappingNodeValue.endElement(XMLDirectMappingNodeValue.java:182) at org.eclipse.persistence.oxm.record.UnmarshalRecord.endElement(UnmarshalRecord.java:831) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:353) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2715) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568) at org.eclipse.persistence.internal.oxm.record.XMLReader.parse(XMLReader.java:157) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:753) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:333) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:320) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:280) at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:306) at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:115) at com.abb.vail.PLCOpenUnMarshaller.main(PLCOpenUnMarshaller.java:33)\[/code\]Where am i going wrong? How to extract the CDATA? Is there an alternative to this? Can i extract the CDATA by overriding SAXPARSER method??
 
Back
Top