Я использую DOM Parser для анализа входного xml, как показано ниже, а затем устанавливаю значение в соответствующих ячейках Excel.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inputstream);
NodeList nodelist = document.getElementsByTagName("ExchangeRate");
Пожалуйста, дайте мне знать, как добавить; между различными значениями, извлеченными из XML.
HSSFRow row1 = ITSFX.createRow(1);
cell = row1.createCell((short) 0);
cell.setCellValue(((Element) (nodelist.item(0))).getElementsByTagName("CurrencyFrom").item(0). getFirstChild() .getNodeValue());
Здесь я получаю первое значение, полученное из xml, то есть в данном случае EUR.
Теперь мне нужно добавить второе значение из xml в той же ячейке [1,0] с точкой с запятой в качестве разделителя. inputXML
Ввод Xml
<?xml version="1.0" encoding="UTF-8"?>
<incmstmts>
<ExchangeRate>
<CurrencyFrom>EUR</CurrencyFrom>
<CurrencyTo>AUD</CurrencyTo>
<Date>30.04.2019</Date>
<ConversionType>1</ConversionType>
<Value>5911</Value>
</ExchangeRate>
<ExchangeRate>
<CurrencyFrom>EUR</CurrencyFrom>
<CurrencyTo>BRL</CurrencyTo>
<Date>30.04.2019</Date>
<ConversionType>1</ConversionType>
<Value>405</Value>
</ExchangeRate>
<ExchangeRate>
<CurrencyFrom>EUR</CurrencyFrom>
<CurrencyTo>BGN</CurrencyTo>
<Date>30.04.2019</Date>
<ConversionType>1</ConversionType>
<Value>9558</Value>
</ExchangeRate>
</incmstmts>
Требуется вывод в Excel .xls / .xlsx
EUR; AUD; 30.04.2019; 1 5911
EUR; BRL; 30.04.2019; 4 405