有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何提取这些XML数据?

我有以下XML输出:

<info> 
  <ip>70.56.98.195</ip> 
  <host>70-56-98-195.slkc.qwest.net</host> 
  <country>UNITED STATES</country> 
  <cimg>http://localhost/ip-to-country/country-flags/us.png</cimg> 
</info> 
<searches> 
  <ips link="http://www.stopforumspam.com/search?q=70.56.98.195" title="Stop Forum Spam"></ips> 
  <ips link="http://openrbl.org/client/#70.56.98.195" title="Openrbl DNSBL RBL Blacklist"></ips> 
  <ips link="http://www.afrinic.net/cgi-bin/whois?searchtext=70.56.98.195" title="AfriNIC (Africa)"></ips> 
  <ips link="http://www.apnic.net/apnic-bin/whois2.pl?searchtext=70.56.98.195" title="APNIC (Asia Pacific region)"></ips>  
  <ips link="http://ws.arin.net/cgi-bin/whois.pl?queryinput=70.56.98.195" title="ARIN (North America, a portion of the Caribbean and sub-Saharan Africa)"></ips> 
  <ips link="http://lacnic.net/cgi-bin/lacnic/whois?query=70.56.98.195" title="LACNIC (Latin American and Caribbean region)"></ips> 
  <ips link="http://www.ripe.net/perl/whois?searchtext=70.56.98.195" title="RIPE (Europe, the Middle East and parts of Africa and Asia)"></ips> 
  <ips link="http://www.robtex.com/ip/70.56.98.195.html" title="Robtex"></ips> 
</searches>

我的问题是,提取数据的最佳方法是什么?是否有更好的方法来提取XML数据


共 (1) 个答案

  1. # 1 楼答案

    一个很好的工具是Simple。您需要做的一件事是编写一个简单的对象来序列化数据。例如

    @Default
    private class Structure {
    
       @Path("info")
       private String ip;
    
       @Path("host")
       private String host;
    
       @Path("path")
       private String country;
    
       @Path("path")
       private String cimg;
    
       @ElementList
       private List<Entry> searches;
    
       @Root
       private static class Entry {
    
          @Attribute
          private String link;
    
          @Attribute 
          private String title;
       }
    }
    

    然后你需要做的就是把数据读入一个对象实例

    Serializer serializer = new Persister();
    Structure structure = serializer.read(Structure.class, inputStream);
    

    这个框架适用于几乎所有的Android版本。欲了解更多信息,请点击Tutorial