2010-01-02 91 views
0

我创建了一个从url地址读取xml文档的应用程序。最近的逻辑被修改,现在而不是接收的XML文档的URL地址我接收文档内容本身,所以我必须修改以下方法:如何将XML文档传递给XMLReader?

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);

不正确的值“内容”是不是一个URL工作了。

有谁知道该如何修改方法来解析XML内容,而不是试图解析给定的网址内容?

谢谢!

回答

3

的情况下,它是org.xml.sax.XMLReader

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