PDA

View Full Version : [java] problema lettura file xml


afsdfdlecosdfsfdcco
17-08-2007, 15:34
Allora, dovrei leggere questo file xml (utilizzando JDom):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AdiumSetVersion</key>
<integer>1</integer>
<key>Emoticons</key>
<dict>

<key>1.gif</key>
<dict>
<key>Equivalents</key>
<array>
<string>:)</string>
<string>:-)</string>
</array>

<key>Name</key>
<string>smile</string>
</dict>
</dict>
</dict>
</plist>


Il problema e' che in fase di lettura ottengo una IOException. Se tolgo la riga

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

invece il file si carica correttamente. Perche' da errore? Cos'e' questa riga?
Come posso sistemare? Non ditemi di togliere quella riga perche' non e' possibile :(

Grazie ^^

Mixmar
17-08-2007, 21:34
Allora, stando alle specifiche ufficiali W3C (http://www.w3.org/TR/REC-xml/#NT-doctypedecl) quella riga indica il DTD da utilizzare per validare il documento XML: per fare ciņ, sospetto che il parser DOM cerchi di collegarsi all'indirizzo dove si trova il DTD ("http://www.apple.com/DTDs/PropertyList-1.0.dtd").

Magari non riesce a collegarsi?

afsdfdlecosdfsfdcco
17-08-2007, 21:54
Allora, stando alle specifiche ufficiali W3C (http://www.w3.org/TR/REC-xml/#NT-doctypedecl) quella riga indica il DTD da utilizzare per validare il documento XML: per fare ciņ, sospetto che il parser DOM cerchi di collegarsi all'indirizzo dove si trova il DTD ("http://www.apple.com/DTDs/PropertyList-1.0.dtd").

Magari non riesce a collegarsi?

Prima non ero collegato, e' possibile... Adesso provo ;)
Intanto grazie ^^

afsdfdlecosdfsfdcco
17-08-2007, 23:06
infatti, da connesso tutto ok, offline non va ^^

l'eccezione e'

java.net.UnknownHostException: www.apple.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.Socket.connect(Socket.java:516)
at java.net.Socket.connect(Socket.java:466)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:795)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:747)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:672)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:916)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:905)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:872)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:282)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:1021)
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.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:810)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:789)
at com.javastaff.emoticon.data.FileManager.readFileSet(FileManager.java:37)
at com.javastaff.emoticon.gui.GUI.<init>(GUI.java:60)
at com.javastaff.emoticon.gui.GUI.main(GUI.java:108)

Sembra chiaro :(

^TiGeRShArK^
18-08-2007, 02:12
o copi in locale quel DTD e modifiki di conseguenza la prima riga con l'indirizzo locale corretto o la elimini del tutto..
a te la scelta :p

afsdfdlecosdfsfdcco
18-08-2007, 11:29
o copi in locale quel DTD e modifiki di conseguenza la prima riga con l'indirizzo locale corretto o la elimini del tutto..
a te la scelta :p


Purtroppo non lo posso eliminare o spostare in locale, le specifiche del file xml non sono mie ma vengono da adiumextra :muro:

vabbe', grazie lo stesso ^^