Bonjour,
Voila j'ai une string. Je sais que cette chaine de caractère est bien en format XML. Je souhaite créer un org.w3c.dom.Document à partir de ce string.
Merci
Bonjour,
Voila j'ai une string. Je sais que cette chaine de caractère est bien en format XML. Je souhaite créer un org.w3c.dom.Document à partir de ce string.
Merci
Serait-il possible d'avoir une réponse plus fournie?
Je reprends ce topic car celà correspond exactement à ce que je souhaite faire.
En gros je récupère du contenu XML d'une page JSP grâce à un JScript snippet. Ce contenu retourné est stocké dans un String.
Maintenant, j'ai pleins de recherches et de traitement à réaliser sur le contenu de mon String, d'où mon besoin pour un objet de type DOM qui puisse me permettre d'accéder aux éléments par getNode, getSibling, et tous ces fabuleux trucs...
Donc, la question pour débuter est:
comment je dois initialiser l'objet DOMParser (et autres si besoin?) pour "traduire" ma variable String?
MERCI
Code : Sélectionner tout - Visualiser dans une fenêtre à part DocumentBuilderFactory.newDocumentBuilder().parse(new InputSource(new StringReader("Chaine xml")));
Mmmh.
J'ai toute une série d'erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 org.xml.sax.SAXParseException: Content is not allowed in prolog. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(XMLDocumentScannerImpl.java:899) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) 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:148) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 StringReader sr = new StringReader(xmlString); InputSource is = new InputSource(sr); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(true); factory.setNamespaceAware(true); DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); } catch (ParserConfigurationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { // EXTRACTING INFORMATION FROM THE XML Document document = builder.parse(is); NodeList lvl1 = document.getElementsByTagName("FEMME"); Node lvl1A = lvl1.item(1); String print = lvl1A.getTextContent(); System.out.println(print); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Je veux juste tester pour l'instant la récupération de l'élement qui a pour name="FEMME", et afficher l'élément.
Apparemment toutes les erreurs émanent de mon deuxieme try{}...
Any ideas?
Je pense que xmlString est vide ou n'est pas un xml valide : c'est sauvent un pb d'encodage.
is.getEncoding() doit être le même que celui déclaré dans le xml.
effectivement j'ai testé et il xmlString est NULL.
Bizarre, je vais tout revérifier, et reviens à vous si jamais un autre soucis se pointe.
merci
En fait je ne comprends pas pourquoi mon xmlString est NULL.
J'exécute un Jscript snippet lancé à la page Firefox pour récupérer le contenu XML de la page JSP appelée.
D'ailleurs manuellement, qd je lance la JSP dans le navigateur, je fais ensuite clic-droit > source , et il y a bien au début du doc la ligne:
<?xml version="1.0" encoding="utf-8"?>
Voici mon JScript snippet:
(ne tenez pas compte des guillemets et autres "+" ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (!browserVersion.isIE) {" + "if (this.browserbot.getCurrentWindow().document instanceof XMLDocument) {" + "new XMLSerializer().serializeToString(this.browserbot.getCurrentWindow().document); }" + "} else {" + "var xmlDocument = this.browserbot.getCurrentWindow().document.XMLDocument;" + "if (xmlDocument != null) {xmlDocument.xml; } }");
Partager