@Test
  public void test_transformThreeRowsOfComplexXML() throws Exception {
    String xml = TRIPLE_ROW_MULTIPLE_ORG;

    makeTsv(xml);
    psr.setKeepElderInfo(false);
    psr.setRowElementName("Site");

    ByteStreams.copy(inn, tsv);
    tsv.close();

    String result = new String(out.toByteArray());
    System.err.println(result);

    StringReader reader = new StringReader(result);
    LineReader lines = new LineReader(reader);
    String line;

    line = lines.readLine();
    assertTrue(line.startsWith("\"code\"\t\"agency\"\t\"Id\"\t\"level\"\t\"Type\""));

    line = lines.readLine();
    assertTrue(line.startsWith("\"01\"\t\"\"\t\"2172257\"\t\"admin\"\t\"water\""));

    line = lines.readLine();
    assertTrue(line.startsWith("\"02\"\t\"USGS2\"\t\"\"\t\"\"\t\"clay\""));

    line = lines.readLine();
    assertTrue(line.startsWith("\"03\"\t\"\"\t\"2172258\"\t\"user\"\t\"stream\""));
  }
  void makeTsv(String xml) throws Exception {
    PostParser pp = new DefaultPostParser();

    out = new ByteArrayOutputStream(1000);
    tsv = new TsvOutputStream(out);
    psr = new DataRowParser(pp);
    tsv.setParser(psr);
    inn = new ByteArrayInputStream(xml.getBytes());
  }
  @Test
  public void test_transformTwoRowsOfSimplerXML() throws Exception {
    String xml = "<get><Site>2172257</Site><Site>2172258</Site></get>";
    makeTsv(xml);

    ByteStreams.copy(inn, tsv);
    tsv.close();

    String result = new String(out.toByteArray());
    System.err.println(result);

    StringReader reader = new StringReader(result);
    LineReader lines = new LineReader(reader);
    String line;

    line = lines.readLine();
    assertEquals("\"Site\"", line);

    line = lines.readLine();
    assertEquals("\"2172257\"", line);

    line = lines.readLine();
    assertEquals("\"2172258\"", line);
  }