如何使用java对XML文件进行排序

发布于 2024-12-27 08:40:00 字数 548 浏览 2 评论 0原文

我有一个 xml 文件,想在 txt 文件中像这样

排序英格兰 |英超 |布莱克浦足球俱乐部 - 伯明翰市 5-1


  <实时比分数据>
  <运动 SportId="1">
   <名称语言=“zh-cn”>足球
   <名称语言=“se”>Fotboll
   <类别CategoryId="34">
    <名称语言=“en”>澳大利亚
   <名称语言=“se”>澳大利亚语
   <锦标赛TournamentId="144">
    现代 A-League
    <名称语言=“se”>现代A联赛
    <匹配MatchId="4616735">
      ....
     ETC

I have an xml file and want to sort like this in txt file

Soccer | England | Premier League | Blackpool FC - Birmingham City 5-1

<?xml version="1.0" encoding="UTF-8"?>
  <LivescoreData>
  <Sport SportId="1">
   <Name language="en">Soccer</Name>
   <Name language="se">Fotboll</Name>
   <Category CategoryId="34">
    <Name language="en">Australia</Name>
   <Name language="se">Australien</Name>
   <Tournament TournamentId="144">
    <Name language="en">Hyundai A-League</Name>
    <Name language="se">Hyundai A-League</Name>
    <Match MatchId="4616735">
      ....
     etc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小苏打饼 2025-01-03 08:40:00

使用 dom4j。它是处理 xml 文件的绝佳库。
您可以从此处下载它。

    SAXReader reader = new SAXReader();
    Document doc = reader.read(new File("myXML.xml"));
    Element content = doc.getRootElement();
    List<Element> myNeededElements = content.elements("neededElementName");

此后,您将在 myNeededElements 列表中看到具有所需名称(例如“neededElementName”)的所有元素。

Use dom4j.It's a great library for working with xml files.
You can download it from here.

    SAXReader reader = new SAXReader();
    Document doc = reader.read(new File("myXML.xml"));
    Element content = doc.getRootElement();
    List<Element> myNeededElements = content.elements("neededElementName");

After this you'll have all elements with the name you want (say "neededElementName") in myNeededElements list.

呢古 2025-01-03 08:40:00

如果您在选择库/框架方面有灵活的选择,解决方案之一是使用 XStream 并将 xml 反序列化为 java 对象的集合并对其进行排序。

例如:

List<Employee> employeeList = xStream.fromXML(xmlFile);
Collections.sort(employeeList, new Comparator() { .... });

编辑:另请检查以下链接:

1) 如何在 Java 中对 XML 元素进行排序?

2) XSLT 排序

If you have flexible options in selecting a library/framework, one of the solutions is to use XStream and deserialize the xml into a collection of java objects and sort 'em.

For Ex:

List<Employee> employeeList = xStream.fromXML(xmlFile);
Collections.sort(employeeList, new Comparator() { .... });

EDIT: Also check the below links:

1) How to sort XML elements in Java?

2) XSLT Sort

鸵鸟症 2025-01-03 08:40:00

对 XML 文件进行排序通常只需几行 XSLT 或 XQuery 即可完成,而调用 XSLT 或 XQuery 只需要几行 Java 代码。然而,从您的帖子中完全不清楚您想要的输入和输出是什么(或者无论如何,它们之间有什么关系。)

Sorting an XML file can generally be done in a few lines of XSLT or XQuery, and invoking XSLT or XQuery only takes a few lines of Java. However, it's totally unclear from your post what your desired input and output are (or at any rate, what relationship they have to each other.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文