Problem parsing XML
i created a class extending the HandlerBase class of the nanoXML package. this class successfully compiled but gave a java.lang.defClassNotFound error, during preverification, Using sun's wireless toolkit(JWTK). What Is The Problem?
Hi
You have to place the xml parsing library inside the lib directory under the WTK.
Mihai
Similar Messages
-
Problem parsing XML with schema when extracted from a jar file
I am having a problem parsing XML with a schema, both of which are extracted from a jar file. I am using using ZipFile to get InputStream objects for the appropriate ZipEntry objects in the jar file. My XML is encrypted so I decrypt it to a temporary file. I am then attempting to parse the temporary file with the schema using DocumentBuilder.parse.
I get the following exception:
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element '<root element name>'
This was all working OK before I jarred everything (i.e. when I was using standalone files, rather than InputStreams retrieved from a jar).
I have output the retrieved XML to a file and compared it with my original source and they are identical.
I am baffled because the nature of the exception suggests that the schema has been read and parsed correctly but the XML file is not parsing against the schema.
Any suggestions?
The code is as follows:
public void open(File input) throws IOException, CSLXMLException {
InputStream schema = ZipFileHandler.getResourceAsStream("<jar file name>", "<schema resource name>");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
factory.setNamespaceAware(true);
factory.setValidating(true);
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
factory.setAttribute(JAXP_SCHEMA_SOURCE, schema);
builder = factory.newDocumentBuilder();
builder.setErrorHandler(new CSLXMLParseHandler());
} catch (Exception builderException) {
throw new CSLXMLException("Error setting up SAX: " + builderException.toString());
Document document = null;
try {
document = builder.parse(input);
} catch (SAXException parseException) {
throw new CSLXMLException(parseException.toString());
}I was originally using getSystemResource, which worked fine until I jarred the application. The problem appears to be that resources returned from a jar file cannot be used in the same way as resources returned directly from the file system. You have to use the ZipFile class (or its JarFile subclass) to locate the ZipEntry in the jar file and then use ZipFile.getInputStream(ZipEntry) to convert this to an InputStream. I have seen example code where an InputStream is used for the JAXP_SCHEMA_SOURCE attribute but, for some reason, this did not work with the InputStream returned by ZipFile.getInputStream. Like you, I have also seen examples that use a URL but they appear to be URL's that point to a file not URL's that point to an entry in a jar file.
Maybe there is another way around this but writing to a file works and I set use File.deleteOnExit() to ensure things are tidied afterwards. -
Problem parsing xml in J2ME (using kxml2)
Hello.
May someone who knows how to use kxml help me please?
I'll try to be straight forward. (Please excuse my imperfect English)
My xml file look something like this:
<?xml version="1.0" encoding="utf-8"?>
<sample_tag1 xmlns:mysample="http://www.sample001.com/sample01schema">
<feature name=tag1_feature>
<test name=xxxxx id=200 message=Hello.></test>
</feature>
<catalog name="shelf">
<booklist name="book1" label="b1"></booklist>
<booklist name="book2" label="b2"></booklist>
<booklist name="book3" label="b3"></booklist>
</catalog>
</sample_tag1>
And here's my code
//http request
try{
//I can guarantee that the URL is valid
httpConnection = (HttpConnection) Connector.open(URL);
}catch(IOException ioe){
ioe.printStackTrace();
//Create the parser
KXmlParser parser = new KXmlParser();
try{
//I use this code section to test if the xml file is properly placed in the inputStream.
char[] tempChar = new char[500];
isr = new InputStreamReader(httpConnection.openInputStream());
isr.read(tempChar);
for(int i=0; i<tempChar.length;i++){
System.out.print(tempChar);
//set the xml input
parser.setInput(isr);
//skip the "<?xml version="1.0" encoding="utf-8"?>" tag
parser.nextTag();
parser.require(XmlPullParser.START_TAG, null, "sample_tag1");
System.out.println("name : " + parser.getName());
System.out.println("namespace : " + parser.getNamespace());
parser.nextTag(); // ***1
I compiled the app and run, here's the result:
name : sample_tag1
namespace :
org.xmlpull.v1.XmlPullParserException: attr value delimiter missing! (position:START_TAG <feature name='http://www.sample001.com/sample01schema'>@3:15 in java.io.InputStreamReader@e938beb1)
at org.kxml2.io.KXmlParser.exception(+47)
at org.kxml2.io.KXmlParser.error(+45)
at org.kxml2.io.KXmlParser.parseStartTag(+285)
at org.kxml2.io.KXmlParser.nextImpl(+314)
at org.kxml2.io.KXmlParser.next(+23)
at org.kxml2.io.KXmlParser.nextTag(+24)
at MyMidlet$ReadXML.run(MyMidlet.java:235)
But when I comment the last line (parser.nextTag(); // ***1), here's the result:
name : sample_tag1
namespace :
My code is the clone of the one in this tutorial:
http://www.developer.com/ws/article.php/3759471
where he get the weather forecast from Yahoo Weather RSS
What did I do wrong? I tried looking up google for "attr value delimiter missing!" but found no useful information.
Thank you in advance. =)Please read this topic. I posted an answer about parsing xml using kxml2
http://forums.sun.com/thread.jspa?threadID=5291592&start=0&tstart=0
Regards,
David -
JSTL - Problem parsing XML file w/ XML schema declarations
I'm having trouble parsing an xml document that contains XML schema declarations in the root element. I've included 2 snippets, the XML files they're supposed to parse, and their output below. The first one works and the second one doesn't. Could someone please tell me why? I find it hard to believe that no one's run into this before.
I'm running Tomcat 5.5 and I'm using JSP 2.0, jakarta standard taglibs jars (1.1.2), jdk 1.5.0_04, and the Xalan 2.7.0 jars.
Here's the first snippet:
<c:import url="/WEB-INF/config/schools.xml" var="xml" />
<x:parse doc="${xml}" var="schoolList"/>
There are <x:out select="count($schoolList//school)"/> schools in the file:<br/>
<x:forEach select="$schoolList//school">
<x:out select="name"/><br/>
</x:forEach>it parses the following xml file:
<?xml version="1.0" encoding="UTF-8"?>
<schools>
<school id="34033">
<name>Tumwater Middle School</name>
<district>Tumwater</district>
<type>middle</type>
<active>false</active>
</school>
<school id="17001">
<name>Garfield High School</name>
<district>Seattle</district>
<type>high</type>
<active>true</active>
</school>
<school id="00023">
<name>Tigard High School</name>
<district>Tigard-Tualatin</district>
<type>high</type>
<active>true</active>
</school>
</schools>and it outputs:
There are 3 schools in the file:
Tumwater Middle School
Garfield High School
Tigard High School-----------------------------------------
The second snippet:
<c:import url="/WEB-INF/config/schools2.xml" var="xml2" />
<x:parse doc="${xml2}" var="schoolList2"/>
There are <x:out select="count($schoolList2//school)"/> schools in the file:<br/>
<x:forEach select="$schoolList2//school">
<x:out select="name"/><br/>
</x:forEach>parses this xml file (note the xml schema declarations):
<?xml version="1.0" encoding="UTF-8"?>
<schools xmlns="http://www.serenus.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.serenus.com schools.xsd">
<school id="34033">
<name>Tumwater Middle School</name>
<district>Tumwater</district>
<type>middle</type>
<active>false</active>
</school>
<school id="17001">
<name>Garfield High School</name>
<district>Seattle</district>
<type>high</type>
<active>true</active>
</school>
<school id="00023">
<name>Tigard High School</name>
<district>Tigard-Tualatin</district>
<type>high</type>
<active>true</active>
</school>
</schools>and its output is:
There are 0 schools in the file:That's it! No errors at all! I'm 100% certain the variable names, filenames, etc. are correct. I've looked everywhere for an existing answer to this problem, but I can't find one. Is this a known issue? Please help.
-BenHi Ben,
I got exactly the same problem and also could not find any solution.
Did you find a way out for this problem meanwhile?
Any help is welcome! -
Problem parsing xml(J2ME Web Service spec) containing image in cldc/midp
Hi,
I have created a restful web service that generates xml file in app server. I have created xml file using JAXB2.1 spec. This xml file has many elements starting from char data to image (binary data). I could successfully create xml file and developed another test client to read the same file using JAXB. However, I am finding a problem while getting the image in the java me client (cldc1.1 and midp2.0).
I am using J2ME Web Services Specification, using javax.xml.parsers.SAXParser to parse the xml file. Parsing is successful and got the character data. But the image data is not accurate, so I am not getting the image. I suspect the problem is with encoding but not sure how to solve this. At the server end, I verified that xml file is encoded with "UTF-8" encoding, not sure how to decode at the client end.
I am totally confused as how to get the accurate image data, not sure if I use kxml parser would solve my problem.
I would really appreciate if somebody can get back to me as this is very very important.Try to send to your web service the byte array instead of string and then convert the byte array into an image
using a method like the following one in your service:
// C# code
public Image ByteArrayToImage(byte[] byteArrayIn)
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}There can be some problem between encoding in J2ME and .Net so try different encodings in gathering the image bytes in your j2ME application, but, instead of jpg which has more encodings, try png that is a more standardized image compression(open standard). -
Having a problem parsing XML from web service & dropdown list
I have 2 data connections that are programmatically invoked via exit event on different fields in form. Both have identical code with only difference is that one populates a multiselect list box and one populates a drop down list. The one that populates the listbox works fine. Everytime Field A changes, it is fired and the results parsed then listblox updated. The one with the drop down list is not working at all. The form is used in Workspace. When I use the javascript debugger, I see the correct node values output to the console window. The problem is that the value is not successfully added to the drop down list existingFileNumber. Anyone have any great ideas? Like I said, this works perfectly in the same form for a different web service and a listbox.
Here is the code for firing and parsing the dropdown list data:
Form.sRoutingTransmittalSlip.sPreparer.existingFileNumber.clearItems();
Form.sRoutingTransmittalSlip.phaseHidden.rawValue="PI";
xfa.connectionSet.getInfo.execute(0);
var pls2=xfa.datasets.createNode("dataGroup","pls2");
pls2.loadXML(Form.sRoutingTransmittalSlip.fileNumbersHidden.rawValue,false,true);
xfa.datasets.data.nodes.append(pls2);
var dataGroup=xfa.resolveNode("xfa.data.pls2.Matters");
var dataGroupLength=dataGroup.nodes.length;
if (dataGroupLength==0) {}
else {
for (var i=0;i<dataGroupLengthl;i++){
console.println(dataGroup.nodes.item(i).nodes.item(0).value);
Form.sRoutingTransmittalSlip.sPreparer.existingFileNumber.addItem(dataGroup.nodes.item(i ).nodes.item(0).value);Do this instead
[Bindable]
var xlTopics:XMLListCollection;
private function LoadResults(event:ResultEvent):void{
var xmlResult = XML(event.result); //only use lastResult in
binding expressions
trace(xmlResult.toXMLString()); //to be sure of what you have
xlTopics = new XMLListCollection(xmlResult .children());
//all the child nodes of the root
Tracy -
I am currently writing a program that receives and xml address, parses the file and finds the name of a certain graphic file named in the xml file. Now if this was Perl I'd be all set, but doing it with java is confusing me a bit. I currently have Xerces SAX all set up, but I'm not sure exactly how to search through the file and find something. Thanks in advance!
Thought I should give an example of the xml file i am parsing. I access it through a URL, which displays this:
<?xml version="1.0" ?>
- <map>
<image href="http://localhost/TransCADTempFiles/a2aeb27f8.png" scope="-71104104|42365514|0.99284|0.8" width="520" height="420" />
<directions href="http://localhost" />
</map>
The only thing that will ever change is the png file.
Thanks!! -
Problem parsing configuration/hibernate.cfg.xml
I am trying to integrate struts with hibernate. I have created a plug-in for that and copied all the necessary jars & xmls to the classpath. I am providing the full stack trace, can any one say what could be the problem
net.sf.hibernate.HibernateException: problem parsing configuration/hibernate.cfg
.xml
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:963
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:902)
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:888)
at com.plugin.HibernatePlugIn.initHibernate(HibernatePlugIn.java:72)
at com.plugin.HibernatePlugIn.init(HibernatePlugIn.java:54)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServle
t.java:869)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:1029)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:86
2)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContex
t.java:4013)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
357)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:80
7)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDep
loyer.java:277)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:625
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478
at org.apache.catalina.core.StandardService.start(StandardService.java:4
80)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:231
3)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: org.dom4j.DocumentException: hibernate.sourceforge.net Nested excepti
on: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java:358)
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:958
)Looks like a problem with Hibernate itself parsing the config file?
Here's a posting from the Hibernate forum that sounds similar:
http://forums.hibernate.org/viewtopic.php?p=2256871&highlight=&sid=e1090f717891db4535310102c61bec25
-steve- -
I am trying to parse XML Schema using XSOM. The Schema has <xs:include>s
e.g. I have first.xsd which includes second.xsd and second.xsd again includes third.xsd.
First.xsd
<xs:include schemaLocation="../Second.xsd">....
Second.xsd
<xs:include schemaLocation="Third.xsd">....
When I parse "First.xsd" parser passes the correct path "C:/XSDSchema/Second.xsd"(First.xsd resides in "C:/XSDSchema/Schema/") to the EntityResolver's resolveEntity method. But for Second.xsd it passes "Third.xsd" only (Third.xsd resides in "C:/XSDSchema/" ) .
Any Idea ?????Here is a screenshort of the part of my workflow:
In the mappings of the "Set Value" activity, I have one line with those properties:
Location: /process_data/bonusValidationForm/object/data/xdp/datasets/data/BonusValidationForm/buMan agerID
Expression: /process_data/currentUser/object/@userId
Where:
bonusValidationForm is a process variable of my workflow that point my xdp form
buManagerID is the textfield I want to set
currentUser is a process variable (type User) that was well setted by the task Find BU Manager -
I parse XML String -> Document the next way:
public static Document parseXml(String fragment) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.
newInstance();
Document d = factory.newDocumentBuilder().parse(
new InputSource(new StringReader(fragment)));
return d;
} catch (SAXException e) {
} catch (ParserConfigurationException e) {
} catch (IOException e) {
return null;
In desktop applications all works correctly, but when I invoke this function in servlet which is run under Tomcat, it returns empty Document data. Can anybody explain me, where to find solution ?How do you know it is returning "empty" Document data? And what do you mean by "empty"?
-
hi everybody,
I've a big problem with XML on Linux, in details I see my program stopping on Linux at the instruction
XMLReader xr = XMLReaderFactory.createXMLReader("org.apache.crimson.parser.XMLReaderImpl");
and it's strange because on Windows it runs and there aren't problems about permissions on files, does anyone knows what to do?
thanks in advance!
StefanoWhat happens on that line? I'm assuming you get some kind of error or exception.
Make sure the JAR file for Crimson is in your classpath. -
How can I solve a Parse Error: "There was a problem parsing this package"
Hello;
I developed a really simple app in Flash Pro CC for android. I published it using AIR 13.0 for Android. When I tried to install it I received the Parse Error: "There was a problem parsing this package"
Im not sure if the problem has something to do with my app xml file, but here it is:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/13.0">
<id>TOeatorNOTTOeat</id>
<versionNumber>1.0.0</versionNumber>
<versionLabel>TouchEvent</versionLabel>
<filename>TO eat or NOT TO eat</filename>
<description/>
<name>TO eat or NOT TO eat</name>
<copyright/>
<initialWindow>
<content>TO%20eat%20or%20NOT%20TO%20eat.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>true</fullScreen>
<aspectRatio>landscape</aspectRatio>
<renderMode>gpu</renderMode>
<autoOrients>false</autoOrients>
</initialWindow>
<icon>
<image36x36>icons/icon36x36.png</image36x36>
<image48x48>icons/icon48x48.png</image48x48>
<image72x72>icons/icon72x72.png</image72x72>
<image96x96>icons/icon96x96.png</image96x96>
</icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<android>
<manifestAdditions>
<![CDATA[<manifest> </manifest>]]>
</manifestAdditions>
</android>
<supportedLanguages>en</supportedLanguages>
</application>
What do you think is the best to check?i don't see any problem with your manifest.
try saving your fla and the published files to a new directory and see if the error resolves. -
Need help on parsing xml file...
Hi all,
I need to collect some data from an Xml file using java. I have the following code with me but I am unable to get the required result. I am unable to get the data from the tags belonging to the header and footer elements. Please find the code and the sample xml file below.
Program to parse XML:
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class JobLogDetails3{
//No generics
List myJobs;
Document dom;
public JobLogDetails3(){
//create a list to hold the job objects
myJobs = new ArrayList();
public void runJobDetails() {
//parse the xml file and get the dom object
parseXmlFile();
//get each joblog element and create a job object
parseDocument();
//Iterate through the list and print the data
printData();
private void parseXmlFile(){
//get the factory
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
//Using factory get an instance of document builder
DocumentBuilder db = dbf.newDocumentBuilder();
//parse using builder to get DOM representation of the XML file
dom = db.parse("test.xml");
}catch(ParserConfigurationException pce) {
pce.printStackTrace();
}catch(SAXException se) {
se.printStackTrace();
}catch(IOException ioe) {
ioe.printStackTrace();
private void parseDocument(){
//get the root elememt
Element docEle = dom.getDocumentElement();
//get a nodelist of <joblog> elements
NodeList nl = dom.getElementsByTagName("*");
if(nl != null && nl.getLength() > 0) {
for(int i = 0 ; i < nl.getLength();i++) {
//get the joblog element
Element el = (Element)nl.item(i);
//get the joblog object
Job J = getJob(el);
//add it to list
myJobs.add(J);
* I take an joblog element and read the values in, create
* an joblog object and return it
* @param JobEl
* @return
private Job getJob(Element JobEl) {
//for each <joblog> element get text or int values of
//name ,id, age and name
String jobServer = getTextValue(JobEl,"server");
String jobName = getTextValue(JobEl,"name");
String jobClient = getTextValue(JobEl,"machine_name");
String jobStart = getTextValue(JobEl,"start_time");
String jobType = getTextValue(JobEl,"type");
String jobEnd = getTextValue(JobEl,"end_time");
String jobSize = getTextValue(JobEl,"new_processed_bytes");
//Create a new Job with the value read from the xml nodes
Job J = new Job(jobServer,jobName,jobClient,jobStart,jobType,jobEnd,jobSize);
return J;
* I take a xml element and the tag name, look for the tag and get
* the text content
* i.e for <employee><name>John</name></employee> xml snippet if
* the Element points to employee node and tagName is name I will return John
* @param ele
* @param tagName
* @return
private String getTextValue(Element ele, String tagName) {
String textVal = null;
NodeList nl = ele.getElementsByTagName(tagName);
if(nl != null && nl.getLength() > 0) {
Element el = (Element)nl.item(0);
textVal = el.getFirstChild().getNodeValue();
return textVal;
* Calls getTextValue and returns a int value
* @param ele
* @param tagName
* @return
private int getIntValue(Element ele, String tagName) {
//in production application you would catch the exception
return Integer.parseInt(getTextValue(ele,tagName));
* Iterate through the list and print the
* content to console
private void printData(){
System.out.println("No of Jobs '" + myJobs.size() + "'.");
Iterator it = myJobs.iterator();
while(it.hasNext()) {
System.out.println(it.next().toString());
public static void main(String[] args){
//create an instance
JobLogDetails JLD = new JobLogDetails();
//call run example
JLD.runJobDetails();
Job Class
public class Job {
private String jobServer;
private String jobName;
private String jobClient;
private String jobStart;
private String jobType;
private String jobEnd;
private String jobSize;
public Job(){
public Job(String jobServer,String jobName,String jobClient,String jobStart,String jobType,String jobEnd,String jobSize ) {
this.jobServer = jobServer;
this.jobName = jobName;
this.jobClient = jobClient;
this.jobStart = jobStart;
this.jobType = jobType;
this.jobEnd = jobEnd;
this.jobSize = jobSize;
public String getjobServer() {
return jobServer;
public void setjobServer(String jobServer) {
this.jobServer = jobServer;
public String getjobName() {
return jobName;
public void setjobname(String jobName) {
this.jobName = jobName;
public String getjobClient() {
return jobClient;
public void setjobClient(String jobClient) {
this.jobClient = jobClient;
public String getjobStart() {
return jobStart;
public void setjobStart(String jobStart) {
this.jobStart = jobStart;
public String getjobType() {
return jobType;
public void setjobType(String jobType) {
this.jobType = jobType;
public String getjobEnd() {
return jobEnd;
public void setjobEnd(String jobEnd) {
this.jobEnd = jobEnd;
public String getjobSize() {
return jobSize;
public void setjobSize(String jobSize) {
this.jobSize = jobSize;
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(getjobServer());
sb.append(",");
sb.append(getjobName());
sb.append(",");
sb.append(getjobClient());
sb.append(",");
sb.append(getjobType());
sb.append(",");
sb.append(getjobStart());
sb.append(",");
sb.append(getjobEnd());
sb.append(",");
sb.append(getjobSize());
sb.append(",");
return sb.toString();
Sample XML File:
<?xml version="1.0" encoding="UTF-16" ?>
- <joblog>
<job_log_version version="2.0" />
- <header>
<filler>======================================================================</filler>
<server>Job server: TGBBAK</server>
<name>Job name: TGBSAP4-SQL-SQL DB Servers S2T - High-Weekly Full Backup</name>
<start_time>Job started: 26 September 2011 at 01:00:04</start_time>
<type>Job type: Backup</type>
<log_name>Job Log: GFD_TGBBAK_71887.xml</log_name>
<filler>======================================================================</filler>
</header>
<media_mount_date>Drive and media mount requested: 26/09/2011 01:00:04</media_mount_date>
- <media_drive_and_media_info>
<media_mount_date>Drive and media information from media mount: 26/09/2011 01:00:39</media_mount_date>
<robotic_library_name>Robotic Library Name: HP 1</robotic_library_name>
<drive_name>Drive Name: LTO4_2</drive_name>
<slot>Slot: 43</slot>
<media_label>Media Label: 000059L</media_label>
<media_guid>Media GUID: {a6ca0062-7a6f-4b4b-8144-732ca25f2f9d}</media_guid>
<media_overwrite_date>Overwrite Protected Until: 25/10/2011 19:24:58</media_overwrite_date>
<media_append_date>Appendable Until: 02/10/2011 14:00:30</media_append_date>
<media_set_target>Targeted Media Set Name: Weekly Tape</media_set_target>
</media_drive_and_media_info>
- <backup>
<filler>======================================================================</filler>
<title>Job Operation - Backup</title>
<append_or_overwrite>Media operation - append.</append_or_overwrite>
<compression>Compression Type: Hardware [if available, otherwise none]</compression>
<verify_option>WARNING: The option 'Verify after backup completes' was not selected. Performing a verify operation to make sure that media can be read after the backup has completed is recommended.</verify_option>
<filler>======================================================================</filler>
- <machine>
<machine_name>TGBSAP4.Tetley.Grp</machine_name>
<info>Network control connection is established between 10.22.2.18:3271 <--> 10.22.2.4:10000</info>
<info>Network data connection is established between 10.22.2.18:3301 <--> 10.22.2.4:3094</info>
- <set>
<set_resource_name>TGBSAP4.Tetley.Grp</set_resource_name>
<tape_name>Family Name: "Media created 25/09/2011 13:59:55"</tape_name>
- <volume>
<display_volume>Backup of "TGBSAP4.Tetley.Grp "</display_volume>
</volume>
<description>Backup set #45 on storage media #1 Backup set description: "Weekly Full Backup"</description>
<backup_type>Backup Method: Full - Back up entire database or filegroup</backup_type>
<agent_started>Microsoft SQL Server Agent: Started</agent_started>
<start_time>Backup started on 26/09/2011 at 01:01:45.</start_time>
- <database>
<database>Database PRD</database>
</database>
- <database>
<database>Database master</database>
</database>
- <database>
<database>Database model</database>
</database>
- <database>
<database>Database msdb</database>
</database>
<end_time>Backup completed on 26/09/2011 at 02:42:25.</end_time>
- <summary>
<backed_up_database>Backed up 4 databases</backed_up_database>
<new_processed_bytes>Processed 573363576542 bytes in 1 hour, 40 minutes, and 40 seconds.</new_processed_bytes>
<vlm_hist_rateformat2>Throughput rate: 5432 MB/min</vlm_hist_rateformat2>
</summary>
<filler>----------------------------------------------------------------------</filler>
</set>
</machine>
</backup>
- <footer>
<filler>======================================================================</filler>
<end_time>Job ended: 26 September 2011 at 02:43:12</end_time>
<engine_completion_status>Job completion status: Successful</engine_completion_status>
<filler>======================================================================</filler>
<completeStatus>19</completeStatus>
</footer>
</joblog>1. your code does not compile (in your main method you try to create an instance of a class which does not exist).
2. your XML document is not well formed.
+[Fatal Error] test.xml:34:74: The content of elements must consist of well-formed character data or markup.+
org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
Maybe there are other problems but you can start by fixing these. -
Parse XML in a java stored proc
I am trying to parse an xml document in a java stored procedure. Just following my nose, I have developed a stored proc that works fine in development (outside the database using JRE 1.4.1) using the Xerces 2.5 parser. But, after having transferred the xerces xercesImpl.jar, xmlapis.jar, and my implementation class into oracle using loadjava when I call my stored proc the code throws an exception trying to build the document with an error like:
NoClassDef exception org.apache.xerces.jaxp.DocumentFactoryBuilderImpl
My Code looks like this:
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
InputStream is = getXMLAsInputStream(xml);
try {
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse( is );
... parse the document ....
catch (FactoryConfigurationError e) {
// unable to get a document builder factory
The exception caught is a FactoryConfigurtionError.
I'm not particularly attached to xerces, I'm really just looking for a way to parse XML inside my java stored proc, so any help to solve my problem, or an alternative suggestion will be greatly appreciated.
thanks
DaleI looked again and sure enough the xerces implementation classes were missing. I had run a .cmd file containing these two lines, but it looks like only the first one ran...
loadjava -u ncc/xyz@usd -v -r M:\Database\JavaGeocode\Xerces2_5_0\xml-apis.jar
loadjava -u ncc/xyz@usd -v -r M:\Database\JavaGeocode\Xerces2_5_0\xercesImpl.jar
Now I've got everything working fine with Xerces!
Dale -
Hi ,
Good Morning to all
in osb replace action am using xquery transformation resource.
source code of xquery is :
====================================================================================
(:: pragma bea:global-element-parameter parameter="$addition1" element="ns0:Addition" location="../wsdl/NewWSDLFile.wsdl" ::)
(:: pragma bea:global-element-return element="ns1:process" location="../bpelprocess1_client_ep.wsdl" ::)
declare namespace ns1 = "http://xmlns.oracle.com/POProcessing/AdditionOSB/BPELProcess1";
declare namespace ns0 = "http://www.example.org/NewWSDLFile/";
declare namespace xf = "http://tempuri.org/ServiceCallout/trans/route/";
declare function xf:route($addition1 as element(ns0:Addition))
as element(ns1:process) {
<ns1:process>
<ns1:value1>{ data($addition1/value1) }</ns1:value1>
<ns1:value2>{ data($addition1/value2) }</ns1:value2>
</ns1:process>
declare variable $addition1 as element(ns0:Addition) external;
xf:route($addition1)
=====================================================
at the time of running "error is Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items " in replace action.
how to resolve this problem...
Thanks & Regards
venkyThe reason for the error is the xquery is not able to find the values in the input... Check the input and namespaces...
Try...
<ns1:value1>{ data($addition1/ns0:value1) }</ns1:value1>
<ns1:value2>{ data($addition1/ns0:value2) }</ns1:value2>Cheers,
Vlad
Maybe you are looking for
-
How can I change the name of a Materialized View?
How can I change the name of a Materialized View?
-
HT4108 Dvi on iPhone for TV shows
Will a digital av adapter plus an hdmi to dvi adapter work to play movies any tv from my iphone5?
-
Should I use "MANAGESECONDARYTRUNCATIONPOINT " option?
Hi all, I have installed OGG (Oracle GoldenGate) on SQL Server 2008 R2 hosted on Windows 2008 R2. I found that log file grows quickly and cannot be released after transaction log backup. The spaces issues almost crash the database, I just execute the
-
Hi, Is it possible to hide a radio button in the selection screen? If yes, how? I tried no-display but i am getting an error message. We are copying a standard program and we just wanted to hide all the fields that we do not need so that we do not ha
-
How is it possible to improve iMovie quality in black areas?
The movie looks fine in preview, but there are a lot of compression artifacts in dark areas when exporting it (720p)