私は、.xmlファイルにというURLのファイルを記入する必要がある気象アプリケーションを構築しています。URLから.xmlファイルを埋める方法は?
XMLファイルのURLはhttp://vrijeme.hr/hrvatska_n.xmlある、と私はNewFile.xmlという名前のファイルを作成しました。
このURLデータをマニュアルでダウンロードしてEclipse IDEにインポートすると、正常に動作します。しかし、私はリモートリソースのlasコンテンツを持つことはできません。 、それはJava 8 nio APIを使用しています
String readXML = null;
URL url = null;
URLConnection urlconn = null;
try {
url = new URL("http://vrijeme.hr/hrvatska_n.xml");
urlconn = url.openConnection();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
InputStreamReader inst = new InputStreamReader(urlconn.getInputStream());
BufferedReader bfr = new BufferedReader(inst);
boolean eof = false;
while (!eof) {
readXML = bfr.readLine();
if (readXML == null) {
eof = true;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
FileOutputStream fout = new FileOutputStream("NewFile.xml");
Writer out = new OutputStreamWriter(fout, "UTF8");
out.write(readXML);
} catch (IOException z) {
System.out.println("Nešto se sjebalo.");
}
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("NewFile.xml"); //Dokument
NodeList cityList = doc.getElementsByTagName("GradIme");
Node cNode = cityList.item(12);
if (cNode.getNodeType() == Node.ELEMENT_NODE) {
Element cElement = (Element) cNode;
String city = cElement.getTextContent();
System.out.println("Ime grada: " + city);
}
NodeList tempList = doc.getElementsByTagName("Temp"); //Element po nazivu
Node nNode = tempList.item(12); //Item number
if (nNode.getNodeType() == Node.ELEMENT_NODE) { // provjeta tipa podataka == Element
Element eElement = (Element) nNode; // Element nNode
String temperatura = eElement.getTextContent(); //uzima text iz elementa
System.out.println("Temperatura:" + temperatura + " C");
NodeList vlagaList = doc.getElementsByTagName("Vlaga");
Node vNode = vlagaList.item(12);
if (vNode.getNodeType() == Node.ELEMENT_NODE) {
Element vElement = (Element) vNode;
String vlaga = vElement.getTextContent();
System.out.println("Vlaga u zraku: " + vlaga + "%");
}
}
} catch (ParserConfigurationException | IOException | SAXException e) {
e.printStackTrace();
}
あなたのコードの何が問題になっているのですか?あなたはエラーになる?または予期せぬ結果がありますか?これは私が得るものですVrijemeDanas.main(VrijemeDanas.java:68) – talex
例外java.io.Writer.writeで "メイン" のjava.lang.NullPointerException \t(不明なソース) \t。 NewFile.xmlにデータを書き込もうとしたときのOutputStreamの行 –
のスレッドで –