Alternative zu StringBufferInputStream gesucht
-
Hallo zusammen,
zwecks Unit Testing muss ich auf einfache Weise und ohne echte Dateien irgendwie XML Daten erzeugen. Momentan kann ich das mit StringBufferInputStream sehr bequem:
public void testIsCondition() { Document document = null; // aktuell die wohl bequemste Möglichkeit aus einem String ein passendes Objekt für eine parse() Methode von DocumentBuilder zu erzeugen StringBufferInputStream source = new StringBufferInputStream( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<root><one><oneone>1.1</oneone></one></root>" ); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder docbuilder = factory.newDocumentBuilder(); // Problem: Passende Quelle für eine parse() Variante erzeugen document = docbuilder.parse(source); NodeList nodes = document.getChildNodes(); Node node = null; int length = nodes.getLength(); StringBuffer name = new StringBuffer(); for (int i = 0; i < length; i++) { node = nodes.item(i); name.delete(0, name.length()); name.append(node.getNodeName()); assertFalse(null, XxHelper.isCondition(node)); } }
Leider ist StringBufferInputStream als @Deprecated gekennzeichnet. Hat jemand eine Alternative für mein Vorhaben?
-
Hab ne Möglichkeit gefunden:
StringReader source = new StringReader( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<root><one><oneone>1.1</oneone></one></root>" ); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder docbuilder = factory.newDocumentBuilder(); // Problem: Passende Quelle für eine parse() Variante erzeugen document = docbuilder.parse(new InputSource(new BufferedReader(source)));