How can I get the DOI of a paper from its title? Is there a way to get the DOI (Document Object Identifier) of a research paper when its title is available?

I am preparing a reference database I could not get the URL of all the references. So, I tried to search online but could not  get to anything. I will appreciate if anyone uses such tool/website or has any idea.

EDIT
I am sorry but my problem is little bigger. I need to automatically (not manually) get them from the websites. Of course, I do not want to do it for more than 50 papers if that is legal/allowed.
Reposted from StackOverflow:


  Here are three options
  
  CSV upload to crossref.org
  
  CrossRef allows you to upload the linked csv directly, and then
  performs a text query here: http://www.crossref.org/stqUpload/
  
  However, only 18 of the 250 queries (~7%) returned a doi.
  
  XML Query
  
  Based on the answer on SO by Brian
  Diggs, here an attempt
  that does 95% of the work - toward writing the xml-based query, it
  still has a few bugs that require some deletion using sed. But the
  biggest problem that my "session timed out" when the query was
  submitted.
  
  the xml syntax includes an option to use fuzzy matching.
  
  the doiquery.xml contains the template text in @Brians answer; the
  citations.csv is linked above. (using R, a sample csv can be found on
  I have posted the first few lines of the table on google
  docs,
  or the csv
  version
  (not all records have a doi))

library(XML)
doiquery.xml &lt;- xmlTreeParse('doiquery.xml')

query &lt;- doiquery.xml$doc$children$query_batch[["body"]]

citations &lt;- read.csv("citations.csv")

new.query &lt;- function(citation, query = query){
  xmlValue(query[["author"]]) &lt;- as.character(citation$author)
  xmlValue(query[["year"]]) &lt;- as.character(citation$year)
  xmlValue(query[["article_title"]][["text"]]) &lt;- citation$title
  xmlValue(query[["journal_title"]]) &lt;- citation$journal
  return(query)
}


for (i in 1:nrow(citations)){
  q &lt;- addChildren(q, add.query(citations[i,]))
}
axml &lt;- addChildren(doiquery.xml$doc$children$query_batch, q )

saveXML(axml, file = 'foo.xml')

  
  CSV to XML Converter
  
  Creativyst software provides a web based CSV to
  XML
  converter. 
  
  Steps: 
  
  
  Enter columnames in ElementID's field,
  "document" in DocID field
  "query" in RowID field
  Copy / paste csv in "Input CSV file".
  Click Convert
  
  
  Also, see this related question:
  https://stackoverflow.com/questions/9880808/shell-script-to-parse-csv-to-an-xml-query