2012-02-18 99 views

回答

2

您可以使用URLConnection來發送HTTP請求並獲取HTTP響應作爲InputStream。您可以使用JAXB將包含XML文檔的InputStream解組爲一個遵循XML結構的javabean實例。

試想一下,XML響應這個樣子,

<data> 
    <foo>fooValue</foo> 
    <bar>barValue</bar> 
</data> 

和你JAXB javabean的這個樣子,

@XmlRootElement 
public class Data { 

    @XmlElement 
    private String foo; 

    @XmlElement 
    private String bar; 

    // Getters/setters. 
} 

那麼你就可以解組它像如下:

InputStream input = new URL("http://example.com/data.xml").openStream(); 
Data data = (Data) JAXBContext.newInstance(Data.class).createUnmarshaller().unmarshal(input); 
String foo = data.getFoo(); // fooValue 
// ... 

與JSP中的其他每行Java代碼一樣,在JSP文件中而不是普通的Java Cla ss不一定會導致技術問題,但最終可能會導致維護噩夢。

+0

thanku。之後,如何訪問特定的元素?數據包含未編組內容。如何訪問「用戶名」元素的形式呢? – 2012-02-18 05:20:10

+0

呃,只需像上例那樣將一個普通的javabean getter方法添加到'Data'類。你熟悉javabeans嗎?你有沒有打擾點擊JAXB鏈接?它向您指出了JAXB教程。 – BalusC 2012-02-18 05:21:24

+0

我在答案中編輯了一個基本示例。 – BalusC 2012-02-18 05:25:39