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

}

前述のように、変数 String コンテンツは URL ではなく XML ドキュメントであるため、このコンテンツを XMLReader に渡す必要があります。

現在ラインxr.parse(content);

値「コンテンツ」が URL ではないため、正しく機能しません。

指定された URL からコンテンツを解析しようとするのではなく、XML コンテンツを解析するためにメソッドを変更する方法を知っている人はいますか?

ありがとうございました!

4

1 に答える 1

3

それが次の場合org.xml.sax.XMLReader:

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