0
XML 파싱을 처음 접했지만 특정 URL에서 XML을 가져온 다음 하나의 리소스 만 저장해야합니다.XML 문서에서 자식 노드 받기 java
내가 얼마나 XML :
이 완벽하게 작동하고 좀이 하나 개의 문서를 반환public Document getXMLFile(String urlToXml) {
try {
URL url = new URL(urlToXml);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(url.openStream());
return document;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
return null;
}
:
<CRates xmlns="****" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="******">
<Date>20161003</Date>
<Currencies>
<Currency>
<ID>AUD</ID>
<Rate>1.46380</Rate>
</Currency>
<Currency>
<ID>BGN</ID>
<Rate>1.95580</Rate>
</Currency>
<Currency>
<ID>BRL</ID>
<Rate>3.64090</Rate>
</Currency>
<Currency>
<ID>CAD</ID>
<Rate>1.47020</Rate>
</Currency>
<Currency>
<ID>CHF</ID>
<Rate>1.09180</Rate>
</Currency>
<Currency>
<ID>CNY</ID>
<Rate>7.49620</Rate>
</Currency>
<Currency>
<ID>CZK</ID>
<Rate>27.02100</Rate>
</Currency>
<Currency>
<ID>DKK</ID>
<Rate>7.44630</Rate>
</Currency>
<Currency>
<ID>GBP</ID>
<Rate>0.87318</Rate>
</Currency>
<Currency>
<ID>HKD</ID>
<Rate>8.71450</Rate>
</Currency>
<Currency>
<ID>HRK</ID>
<Rate>7.50530</Rate>
</Currency>
<Currency>
<ID>HUF</ID>
<Rate>308.18000</Rate>
</Currency>
<Currency>
<ID>IDR</ID>
<Rate>14587.14000</Rate>
</Currency>
<Currency>
<ID>ILS</ID>
<Rate>4.22280</Rate>
</Currency>
<Currency>
<ID>INR</ID>
<Rate>74.76600</Rate>
</Currency>
<Currency>
<ID>JPY</ID>
<Rate>113.90000</Rate>
</Currency>
<Currency>
<ID>KRW</ID>
<Rate>1237.21000</Rate>
</Currency>
<Currency>
<ID>MXN</ID>
<Rate>21.61500</Rate>
</Currency>
<Currency>
<ID>MYR</ID>
<Rate>4.62720</Rate>
</Currency>
<Currency>
<ID>NOK</ID>
<Rate>8.96250</Rate>
</Currency>
<Currency>
<ID>NZD</ID>
<Rate>1.54540</Rate>
</Currency>
<Currency>
<ID>PHP</ID>
<Rate>54.17900</Rate>
</Currency>
<Currency>
<ID>PLN</ID>
<Rate>4.29330</Rate>
</Currency>
<Currency>
<ID>RON</ID>
<Rate>4.45050</Rate>
</Currency>
<Currency>
<ID>RUB</ID>
<Rate>70.00100</Rate>
</Currency>
<Currency>
<ID>SEK</ID>
<Rate>9.59300</Rate>
</Currency>
<Currency>
<ID>SGD</ID>
<Rate>1.53260</Rate>
</Currency>
<Currency>
<ID>THB</ID>
<Rate>38.91000</Rate>
</Currency>
<Currency>
<ID>TRY</ID>
<Rate>3.38610</Rate>
</Currency>
<Currency>
<ID>USD</ID>
<Rate>1.12360</Rate>
</Currency>
<Currency>
<ID>ZAR</ID>
<Rate>15.26410</Rate>
</Currency>
</Currencies>
</CRates>
질문은 - 내가 어떻게 (예를 들어, USD에 대한) 하나 개의 특정 노드를 얻을 수를 이 모든 것들로부터 새로운 xml로 저장 하시겠습니까? 출력 XML에 대한
예 : 도움을
<CRates>
<Date>20160321</Date>
<ID>USD</ID>
<Rate>1.12360</Rate>
</Currency>
</CRates>
감사합니다,
건배
정답입니다. XPath는이 목적을 위해 만들어졌습니다. 배우는 데 시간을 할애 할 가치가 있습니다. – VGR
제안 해 주셔서 감사합니다. 시도해 보겠습니다. – Reborn
안녕하세요. NodeList로 작업하는 데 도움이 필요하면이 페이지를 읽어서 클래스 (및 관련 클래스)가 어떻게 작동하는지 알 수 있습니다. https://docs.oracle.com/javase/7/docs/api/org/w3c/dom/NodeList.html. 다른 문제가 있으면 알려주십시오. – dahui