2015-10-12 90 views
0
<dict> 
<key>Finance</key> 
<dict> 
<key>MainContent</key> 
<array><string>Transactions</string><string>Booking Sales</string><string>Export Booking</string><string>Operation Revenue</string></array></dict> 
<key>AboutUs</key> 
<dict> 
<key>MenuItems</key> 
<array><dict><key>name</key><string>Ship Owning</string><key>submenu</key><array><string>Orient Express Lines FZCO</string><string>Transworld Bulk Carriers FZCO</string></array> 
</dict> 
<dict> 
<key>name</key> 
<string>Feeder</string> 
<key>submenu</key> 
<array><string>Orient Express Lines FZCO</string><string>Shreyas Shipping And Logistics Ltd</string></array> 
</dict> 
</dict> 

在上面的xml文件中如何获得<string>标记值。 有什么最有效的方法来获取值。如何从android中的xml标记中获取特定值

+2

只是一个但是我90%确定这不是有效的XML。在第9行,有两个''标签被打开,但1个未被关闭,而且似乎也有''元素的不匹配标签,我给出的仅仅是 – RobVoisey

+0

。告诉我,如何从标签 –

回答

1

如果您的xml格式不正确,您不会走得太远。您可以使用JSoup等库来尝试清理xml。

在这里看到:http://try.jsoup.org/~qw0Vw1_TiKI71RmfxOn9HPL8u1U

然后它只是使用库清理XML,并告诉它挑出来的信息的情况下,你想:

package doodle; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class Main { 

    public static void main(String[] args) { 

     Document doc = Jsoup 
       .parse("<dict><key>Finance</key><dict><key>MainContent</key><array><string>Transactions</string><string>Booking Sales</string><string>Export Booking</string><string>Operation Revenue</string></array></dict><key>AboutUs</key><dict><key>MenuItems</key><array><dict><key>name</key><string>Ship Owning</string><key>submenu</key><array><string>Orient Express Lines FZCO</string><string>Transworld Bulk Carriers FZCO</string></array></dict><dict><key>name</key><string>Feeder</string><key>submenu</key><array><string>Orient Express Lines FZCO</string><string>Shreyas Shipping And Logistics Ltd</string></array></dict></dict>"); 

     Elements elements = doc.select("string"); 

     for (Element element : elements) { 
      System.out.println(element.text()); 
     } 

    } 

} 

Transactions Booking Sales Export Booking Operation Revenue Ship Owning Orient Express Lines FZCO Transworld Bulk Carriers FZCO Feeder Orient Express Lines FZCO Shreyas Shipping And Logistics Ltd

+0

thks读取值。如果我想只得到船舶所有权和子菜单意味着 –

+0

我不知道我遵循你的要求。无论如何,关于提取的内容,您可以更具体。看看这里:http://jsoup.org/cookbook/extracting-data/dom-navigation –

相关问题