2011-05-31 47 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是更复杂一点,但我修剪它,所以你不必去通过无关的数据

相关问题