【发布时间】:2018-10-15 14:58:57
【问题描述】:
我有一个 InputStream 包含如下 xml 格式:-
InputStream is = asStream("<TransactionList>\n" +
" <Transaction type=\"C\" amount=\"1000\"narration=\"salary\" />\n" +
" <Transaction type=\"X\" amount=\"400\" narration=\"rent\"/>\n" +
" <Transaction type=\"D\" amount=\"750\" narration=\"other\"/>\n" +
"</TransactionList>");
xmlTransactionProcessor.importTransactions(is);
我正在尝试对此进行分析并将值存储到 Transaction 对象(用户定义)的数组列表中,但我仍然无法这样做。
我尝试了很多解决方案,但仍然没有任何好处。
我阅读了有关读取 xml 文件的信息,但仍然无法处理这样的 InputStream。
有人可以帮忙吗?这是我最后一次尝试,但它仍然在某个地方失败。
// TODO Auto-generated method stub
BufferedReader inputReader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String inline = "";
try {
while ((inline = inputReader.readLine()) != null) {
sb.append(inline);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SAXBuilder builder = new SAXBuilder();
try {
org.jdom2.Document document = (org.jdom2.Document) builder.build(new ByteArrayInputStream(sb.toString().getBytes()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
【问题讨论】:
-
另一个不错的选择是jaxb。
标签: java xml inputstream