@XmlType( propOrder = { "name", "capital", "foundation", "continent" , "population"} )
@XmlRootElement( name = "Country" )
class Country {
    @XmlElement(name = "Country_Population")
    Population population;
    @XmlRootElement( name = "Country" )
    static class Population { //Возможно необходимо вынести в отдельный файл
        @XmlAttribute(name = "value")
        int value;
    }
}Я бы сделал это следующим образом:
1) Создал бы DTO, в которые собираются данные из парсинга. А далее маппер, которые перегоняет их в Entity и сохраняет в БД. Можно наверное, обойтись и без DTO.
А почему бы в качестве ключа не использовать обычный id (int, long) или uuid? А url сохранить, как одно из полей.