如何将XML文档传递给XMLReader?

时间:2010-01-02 09:03:36

标签: java android xmlreader

我创建了一个从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;
}

}

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

目前行xr.parse(content);

无效,因为“内容”值不再是网址。

是否有人知道如何修改方法以解析XML内容而不是尝试解析给定网址中的内容?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果是org.xml.sax.XMLReader

InputSource is = new InputSource(new StringReader(content)); 
xr.parse(is);