Ajax html Domparser

I have some ajax code in an html doc that changes the text of a button to text stored in another html doc in the same domain. The text is in the body tag of the second html document.Like this:

<body> Text</body>

So the code makes an ajax request, parses the response to create an xmldoc. When I try to use the

getElementByTagName("body") or even getElementByTagName("html") 

I get an emepty HTMLcollection. But when I use the

queryselector("body") I can get to the text. The log to console prints undefined. 

Here's the full code:

function gettxt()
 {
var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.open("GET", "http://localhost/ajax2.html", true);  
xmlhttp.onreadystatechange = function() 
{
  if (xmlhttp.readyState === 4) {  
    if (xmlhttp.status === 200) 
    { 
      allText = xmlhttp.responseText;   
    var parser = new DOMParser();
    var xmlDoc = parser.parseFromString(allText, "application/xml");            
    var bodyobj=xmlDoc.getElementsByTagName("body");
    console.log(bodyobj.lemgth);                        
      document.getElementById("secbtn").value=bodyobj;        
    }
  }
}

xmlhttp.send(null);

}

What am I missing? Thanks.

I know what I was doing wrong. I was setting the button's text to bodyobj instead of bodyobj[0].innerHTML.