Compara dos xml e imprime la diferencia usando LINQ

Estoy comparando dos xml y tengo que imprimir la diferencia. ¿Cómo puedo lograr esto usando LINQ. Sé que puedo usar el parche XML diff de Microsoft pero prefiero usar LINQ. Si tienes alguna otra idea, la implementaré.

// primer xml

<Books>
 <book>  
  <id="20504" image="C01" name="C# in Depth">
 </book>  
 <book> 
  <id="20505" image="C02" name="ASP.NET">
 </book> 
 <book> 
  <id="20506" image="C03" name="LINQ in Action ">
 </book> 
 <book> 
  <id="20507" image="C04" name="Architecting Applications">
 </book> 
</Books>

// segundo xml

<Books>
  <book> 
    <id="20504" image="C011" name="C# in Depth">
  </book>
  <book> 
    <id="20505" image="C02" name="ASP.NET 2.0">
  </book>
  <book> 
    <id="20506" image="C03" name="LINQ in Action ">
  </book>
  <book> 
    <id="20508" image="C04" name="Architecting Applications">
  </book>
</Books>

Quiero comparar estos dos xml e imprimir resultados como este.

Issued       Issue Type             IssueInFirst    IssueInSecond

1            image is different      C01              C011
2            name  is different      ASP.NET          ASP.NET 2.0
3            id  is different        20507            20508

Respuestas a la pregunta(3)

Su respuesta a la pregunta