J'utilise une methode pour parser du XML,seulement celle ci est code
differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus
r=E9cent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de
faire Cohabiter les deux ????
Merci d'avance de vos r=E9ponses
Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
SAXParserFactory parserFact =3D
SAXParserFactory.newInstance();
parserFact.setNamespaceAware(true);
SAXParser parser =3D
parserFact.newSAXParser();
parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar)
}
catch (ParserConfigurationException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code
comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
XMLReader parser =3D XMLReaderFactory.createXMLReader();
parser.setContentHandler(this);
parser.parse(source);
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ownowl
Bonsoir
J'utilise une methode pour parser du XML,seulement celle ci est code differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de faire Cohabiter les deux ???? Merci d'avance de vos réponses Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source) throws IOException { try { SAXParserFactory parserFact > SAXParserFactory.newInstance(); parserFact.setNamespaceAware(true); SAXParser parser > parserFact.newSAXParser(); parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar) } catch (ParserConfigurationException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code comme cela
public void readObject(InputSource source) throws IOException { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(this); parser.parse(source); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
bonsoir si tu peut distribuer les deux méthodes un test sur System.getProperty("java.version") permettrait de renvoyer sur la méthode qui va bien. Sinon tu peut effectivement utiliser le ClassForName à l'utilisation. un implémentation possible
class XmlReader1_3 implements XmlReaderBase { public void readObject(InputSource source) { // implementation jdk 1.3 } } class XmlReader1_4 implements XmlReaderBase { public void readObject(InputSource source) { // implementation jdk 1.4 } }
class MyXmlReaderFactory { public static readObject(InputSource source) {
// choisir le bon reader en récupérant le nom de //l'implémentation dans un fichier properties par exemple
Class c = Class.forName(nom_de_la_classe); XmlReaderBase reader= (XmlReaderBase ) c.newInstance(); reader.readObject(source); } }
Olivier
Bonsoir
J'utilise une methode pour parser du XML,seulement celle ci est code
differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus
récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de
faire Cohabiter les deux ????
Merci d'avance de vos réponses
Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
SAXParserFactory parserFact > SAXParserFactory.newInstance();
parserFact.setNamespaceAware(true);
SAXParser parser > parserFact.newSAXParser();
parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar)
}
catch (ParserConfigurationException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code
comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
XMLReader parser = XMLReaderFactory.createXMLReader();
parser.setContentHandler(this);
parser.parse(source);
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
bonsoir
si tu peut distribuer les deux méthodes un test sur
System.getProperty("java.version") permettrait de renvoyer sur la
méthode qui va bien.
Sinon tu peut effectivement utiliser le ClassForName à l'utilisation.
un implémentation possible
J'utilise une methode pour parser du XML,seulement celle ci est code differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de faire Cohabiter les deux ???? Merci d'avance de vos réponses Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source) throws IOException { try { SAXParserFactory parserFact > SAXParserFactory.newInstance(); parserFact.setNamespaceAware(true); SAXParser parser > parserFact.newSAXParser(); parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar) } catch (ParserConfigurationException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code comme cela
public void readObject(InputSource source) throws IOException { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(this); parser.parse(source); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
bonsoir si tu peut distribuer les deux méthodes un test sur System.getProperty("java.version") permettrait de renvoyer sur la méthode qui va bien. Sinon tu peut effectivement utiliser le ClassForName à l'utilisation. un implémentation possible
J'utilise une methode pour parser du XML,seulement celle ci est code differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de faire Cohabiter les deux ???? Merci d'avance de vos réponses Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source) throws IOException { try { SAXParserFactory parserFact > SAXParserFactory.newInstance(); parserFact.setNamespaceAware(true); SAXParser parser > parserFact.newSAXParser(); parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar) } catch (ParserConfigurationException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code comme cela
public void readObject(InputSource source) throws IOException { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(this); parser.parse(source); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Bonjour,
Pourquoi tu utilises pas directement du code JAXP ? Que je sache c'est une extensions standard, il peut donc même s'installer sur d'anciens JDK ...
Plus sur https://jaxp.dev.java.net/1.3/index.html
A+ TM
Bonsoir
J'utilise une methode pour parser du XML,seulement celle ci est code
differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus
récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de
faire Cohabiter les deux ????
Merci d'avance de vos réponses
Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
SAXParserFactory parserFact > SAXParserFactory.newInstance();
parserFact.setNamespaceAware(true);
SAXParser parser > parserFact.newSAXParser();
parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar)
}
catch (ParserConfigurationException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code
comme cela
public void readObject(InputSource source)
throws IOException
{
try
{
XMLReader parser = XMLReaderFactory.createXMLReader();
parser.setContentHandler(this);
parser.parse(source);
}
catch (SAXException exc)
{
throw new IOException(
"Error parsing XML document: "+exc.toString());
}
}
Bonjour,
Pourquoi tu utilises pas directement du code JAXP ?
Que je sache c'est une extensions standard, il peut donc même
s'installer sur d'anciens JDK ...
J'utilise une methode pour parser du XML,seulement celle ci est code differament suivant que je suis en JDK 1.3 OU 1.4 (je sais il y a plus récent, mais des vieux serveurs resistent encore !)
Est il possible par compilation conditionnelle ou par ClassForName de faire Cohabiter les deux ???? Merci d'avance de vos réponses Philippe
En JDK 1.4 elle est code comme cela
public void readObject(InputSource source) throws IOException { try { SAXParserFactory parserFact > SAXParserFactory.newInstance(); parserFact.setNamespaceAware(true); SAXParser parser > parserFact.newSAXParser(); parser.parse(source, this); //Inclus dans le jdk 1.4 (rt.jar) } catch (ParserConfigurationException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Alors qu'en JDK 1.3, et j'ai des clients avec AIX 4.3 elle es code comme cela
public void readObject(InputSource source) throws IOException { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(this); parser.parse(source); } catch (SAXException exc) { throw new IOException( "Error parsing XML document: "+exc.toString()); } }
Bonjour,
Pourquoi tu utilises pas directement du code JAXP ? Que je sache c'est une extensions standard, il peut donc même s'installer sur d'anciens JDK ...