There is a mistake in your html code.
 <a href="Default.aspx?News=<%#XPath("title")%"><%#XPath("title")%></a>
Here i have binbed the Repeater with XmlDataSource as you have done in your sample.
<form id="form1" runat="server">
    <div>
        <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/XML/Customers.xml">
        </asp:XmlDataSource>
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
            <ItemTemplate>
                <asp:Label ID="Label3" runat="server" Text="<%# Container.ItemIndex +1 %>"></asp:Label>
                <a href="Default.aspx?News=<%#XPath("Name")%>"><%#XPath("Name")%></a>
                <br />
                <asp:Label ID="Desc" runat="server" Text='<%#XPath("Phone")%>'></asp:Label>
                <br />
                <asp:Label ID="lnklink" runat="server" Text='<%#XPath("City")%>'></asp:Label><br />
                <asp:LinkButton runat="server" Text="GetIndex" OnClick="GetIndex" ID="lnkGetIndex"></asp:LinkButton>
                <hr style="color: #0099ff;" />
                <br />
            </ItemTemplate>
        </asp:Repeater>
    </div>
</form>
My XML:
<?xml version="1.0" encoding="utf-8" ?>
<CustomerDataSet>
  <CustomerTable>
    <Name>Azim</Name>
    <Email>26</Email>
    <Phone>23000</Phone>
    <City>Mumbai</City>
  </CustomerTable>
  <CustomerTable>
    <Name>Sabah</Name>
    <Email>26</Email>
    <Phone>23000</Phone>
    <City>Mumbai</City>
  </CustomerTable>
  <CustomerTable>
    <Name>Amir</Name>
    <Email>26</Email>
    <Phone>23000</Phone>
    <City>Mumbai</City>
  </CustomerTable>
</CustomerDataSet>
C#: for finding the Id. Your code is working fine here its selecting the perticular Id  on Button click.
protected void GetIndex(object sender, EventArgs e)
{
    string id = (((sender as LinkButton).NamingContainer as RepeaterItem).FindControl("Label3") as Label).Text;
    Session["id"] = id.ToString();
}
Thank You.