Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Package o non package?

    Salve a tutti...nel tentativo di prendere confidenza con l'xml ho un errore ma non so come correggerlo...
    In sostanza netbeans mi rileva errore nella riga che sotto è descritta come incriminata...

    codice:
    package xml;
    import java.io.*;
    import javax.xml.*;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.w3c.dom.*;
    import org.w3c.dom.Document;
    import javax.xml.parsers.DocumentBuilderFactory;
    
    public class Main {
        
    
        public Main() {
        }
    
        public static void main(String[] args) {
    
            try {
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                factory.setValidating(false);
    
    
    //questa sotto è la riga incriminata
                Document doc = factory.newDocumentBuilder();
    
    
                Element root = doc.createElement("prova");
                doc.appendChild(root);
                Comment comment = doc.createComment("prova commento");
                doc.insertBefore(comment, root);
                Text text = doc.createTextNode("prova testo");
                root.appendChild(text);
                
                }catch (Exception e)
                {
                    System.out.println("fatto");
        }}
        
    }
    L'errore segnalato è questo:
    codice:
    symbol  : method newDocument()
    location: class javax.xml.parsers.DocumentBuilderFactory
                Document doc = factory.newDocument();
    Ma se io l'import lo faccio...per quale motivo continua a non accettare il codice?????
    Grazie.

  2. #2
    Ma la riga incriminata nel codice che hai postato non è la stessa dell'errore

    codice:
    //questa sotto è la riga incriminata
    Document doc = factory.newDocumentBuilder();
    nell'errore...

    codice:
    Document doc = factory.newDocument();
    Al mio segnale... scatenate l'inferno!

  3. #3
    Si scusa...

    Era così
    codice:
    found   : javax.xml.parsers.DocumentBuilder
    required: org.w3c.dom.Document
                Document doc = factory.newDocumentBuilder();

  4. #4
    questo accade quando una stessa classe (in questo caso Document) appartiene a più package.
    L'unico modo di rendere non ambigua l'istruzione è usare il nome del package per esteso
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  5. #5
    Ok...proverò ma non so che scrivere...

  6. #6
    comincia ad eliminare i duplicati degli import che fai:

    codice:
    import javax.xml.parsers.DocumentBuilderFactory;   <--- la importi 2 volte
    import org.w3c.dom.*;
    import org.w3c.dom.Document;   <--- non è necessario visto che sopra hai importato tutte le classi tramite *
    Poi è normale che dia errore perchè format.newDocumentBuilder restituisce un DocumentBuilder non un Document
    Al mio segnale... scatenate l'inferno!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.