2011-05-31 53 views
0

我目前正在研究一個小型的遠程圖像查看器應用程序。如何從遠程服務器讀取變量?

我需要知道的是如何從遠程服務器上的Xml文件讀取字符串變量,並將它們放入String[]。所以我的程序可以使用他們我想要的。在Xml文件中的所有變量都是字符串(IE「http://www.website.com/image.png」)

我能做到這一點與當地Xml,但我會怎麼做這從一個遠程Xml文件?

回答

0

我不得不來加載XML爲應用我的工作使用SAX解析器。這是我目前使用的方法。你必須改變它以適應你的XML結構,但這應該給你一個很好的主意。我仍然對Java和Android,所以他們可能是一個更好的解決方案

private void loadXML() 
{ 
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db; 
    try 
    { 
     db = dbf.newDocumentBuilder(); 
     try 
     { 
      Document doc = db.parse(new URL("http://yoursite.com/presentation.xml").openStream()); 
      Element docElement = doc.getDocumentElement(); 
      NodeList nl = docElement.getElementsByTagName("Slide"); 

      if (nl != null && nl.getLength() > 0) 
      { 
       String slideArray[] = new String[nl.getLength()]; 
       vforumLength = nl.getLength(); 

       for (int i = 0; i < nl.getLength(); i++) 
       { 
        Element slideElement = (Element) nl.item(i); 
        NodeList titleList = slideElement.getElementsByTagName("Title"); 
        Element titleElement = (Element) titleList.item(0); 
        String title   = titleElement.getFirstChild().getNodeValue(); 
        slideArray[i]  = title; 
        Log.i("xml",title); 
       } 
      } 
     } 
     catch (MalformedURLException e) 
     { 
      e.printStackTrace(); 
     } 
     catch (SAXException e) 
     { 
      e.printStackTrace(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
    catch (ParserConfigurationException e) 
    { 
     e.printStackTrace(); 
    } 
} 

和XML:

<?xml version="1.0" encoding="UTF-8"?> 
<vForum> 
    <Slides> 
     <Slide id="1" tcIn="00:00:00.0" tcOut="00:00:00.0"> 
      <Title>Title 1</Title> 
     </Slide> 
     <Slide id="2" tcIn="00:00:00.0" tcOut="00:00:00.0"> 
      <Title>Title 2</Title> 
     </Slide> 
     <Slide id="3" tcIn="00:00:00.0" tcOut="00:00:00.0"> 
      <Title>Title 3</Title> 
     </Slide> 
     <Slide id="4" tcIn="00:00:00.0" tcOut="00:00:00.0"> 
      <Title>Title 4</Title> 
     </Slide> 
     <Slide id="5" tcIn="00:00:00.0" tcOut="00:00:00.0"> 
      <Title>Title 5</Title> 
     </Slide> 
    </Slides> 
</vForum> 

我實際的XML是更復雜一點,但我修剪它,所以你不必去通過無關的數據

相關問題