Cómo encontrar / extraer datos de xml con jQuery

Estoy tratando de extraer los valores StateLongName y StateShortName del xml a continuación.

Sé que tiene que haber una manera simple y elegante de hacer esto con jQuery.

<NewDataSet>
  <Table>
    <StateLongName>Alabama</StateLongName>
    <StateShortName>AL</StateShortName>
  </Table>
  <Table>
    <StateLongName>Alaska</StateLongName>
    <StateShortName>AK</StateShortName>
  </Table>

...elments removed for brevity

</NewDataSet>

Esto es lo que he intentado.

Cargue el xml de arriba en un nombre de variable Javascript xml.

Prueba # 1

$(xml).find("TABLE").each(function()
{
  var stateName = $(this).find("StateLongName").innerText;
  var stateCode = $(this).find("StateShortName").innerText;
});

Pruebe # 1 no encuentra nada y nunca entra para cargar las variables stateName y stateCode.

Prueba # 2

$(xml).find("StateLongName").each(function()
{
  var stateName = $(this).find("StateLongName").innerText;
  var stateCode = $(this).find("StateShortName").innerText;
});

El intento # 2 sí encuentra coincidencias, sin embargo, stateName y stateCode se dejan sin definir.

Prueba # 3

$(xml).find("StateLongName").each(function()
{
  var stateName = $($(xml).find('StateLongName').parent()[0].innerHTML)[1].data;
  var stateCode = $($(xml).find('StateLongName').parent()[0].innerHTML)[5].data;
});

Prueba # 3 funciona pero tiene que haber una mejor manera. Por favor iluminame.

Gracias por tu tiempo!

Respuestas a la pregunta(2)

Su respuesta a la pregunta