java如何简单快速处理xml中的数据

这篇文章给大家介绍java如何简单快速处理xml中的数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java有什么方便解析XML的类库吗?比如处理如下这段XML:

<?xml version="1.0" encoding="utf-8" ?>

<bookstore>

 <book category="COOKING">

   <title lang="en">Everyday Italian</title>

   <author>Giada De Laurentiis</author>

   <year>2005</year>

   <quantity>850</quantity>

   <price>30.00</price>

 </book>

...

</bookstore>

期望XML结构化后的效果:

java如何简单快速处理xml中的数据  java 第1张

Java一般用XPath来解析XML,由于不是集合性语言,写起来会比较长,且大量使用了接口,API也较为复杂。代码大概要写成这样:

...

File file=new File("/workspace/bookstore.xml");

Document document=new SAXReader().read(file);

public void test(){

List<Node> nodes = document.selectNodes("bookstore/book");

for(Node node:nodes){

                 System.out.println(node.getText());

        }

}

...

XML解析,用集算器SPL会简单很多,它把 XPath 做了封装,且有丰富强大的集合运算能力,所以很容易应对。比如上面问题仅需2行:


A

1

=xml@s(file("/workspace/book.xml").read()).bookstore

2

=A1.new(category,book(1).title,book(1).lang,book(2).author,book(3).year,book(4).quantity,book(5).price)

XML解析出来一般都是为了计算,所以SPL还能更方便地计算,比如:统计每年的图书销售额;只需在此基础上增加1行:=A2.groups(year;sum(quantity*price):amount)

其实还有很多情况用Java解析XML不太方便,但用集算器SPL却很简单。

集算器还很容易嵌入到Java应用程序中, Java如何调用SPL脚本有使用和获得它的方法。

关于java如何简单快速处理xml中的数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram