0

我创建了一个从 url 地址读取 xml 文档的应用程序。最近逻辑已被修改,现在我接收文档内容本身而不是接收 XML 文档的 url 地址,因此我必须修改以下方法:

public List<Product> getProducts(String content){
    List<Product> products = new ArrayList<Product>();
    XMLReader xr;
    try {
        xr = sp.getXMLReader();
        ProductsXMLHandler productsXmlHandler = new ProductsXMLHandler();
        xr.setContentHandler(productsXmlHandler);
        xr.parse(content);

        products = productsXmlHandler.getProducts();
    } catch (SAXException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return products;
}

}

如前所述,变量字符串内容不是 url,而是 XML 文档,因此我必须将此内容传递给 XMLReader。

目前线路xr.parse(content);

无法正常工作,因为值 'content' 不再是 url。

有谁知道应该如何修改该方法以解析 XML 内容,而不是尝试解析来自给定 url 的内容?

谢谢!

4

1 回答 1

3

如果是org.xml.sax.XMLReader

InputSource is = new InputSource(new StringReader(content)); 
xr.parse(is);
于 2010-01-02T09:12:51.980 回答