Регулярные выражения – PHP и XML

Я в колледже и новичок в регулярных выражениях PHP, но у меня есть идея, что мне нужно делать, я думаю. В основном мне нужно создать программу PHP для чтения исходного кода XML, содержащего несколько «рассказов» и хранить их данные в базе данных mySQL. Мне удалось создать выражение, которое выбирает каждую историю, но мне нужно сломать это выражение дальше, чтобы получить каждый элемент в истории. Вот XML:

XML

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="test.xsl"?> <latestIssue> <issue number="256" /> <date> <day> 21 </day> <month> 1 </month> <year> 2011 </year> </date> <story> <title> Is the earth flat? </title> <author> AN Redneck </author> <url> http://www.HotStuff.ie/stories/story123456.xml </url> </story> <story> <title> What the actress said to the bishop </title> <author> Brated Film Critic </author> <url> http://www.HotStuff.ie/stories/story123457.xml </url> </story> <story> <title> What the year has in store </title> <author> Stargazer </author> <url> http://www.HotStuff.ie/stories/story123458.xml </url> </story> </latestIssue> 

Поэтому мне нужно получить название, автора и URL из каждой истории и добавить их как строку в моей базе данных. Вот что я до сих пор:

PHP

 <?php $url = fopen("http://address/to/test.xml", "r"); $contents = fread($url,10000000); $exp = preg_match_all("/<title>(.+?)<\/url>/s", $contents, $matches); foreach($matches[1] as $match) { // NO IDEA WHAT TO DO FROM HERE // $exp2 = "/<title>(.+?)<\/title><author>(.+?)<\/author><url>(.+?)<\/url>/"; // This is what I had but I'm not sure if it's right or what to do after } ?> 

Я бы очень признателен за помощь парням, я весь этот день застрял, и я не могу полностью обманывать регулярные выражения. Как только мне удастся получить детали каждой истории, я могу легко обновить базу данных.

EDIT: Спасибо, что ответили, но уверены ли вы, что это невозможно сделать с помощью регулярных выражений? Это просто вопрос: «Используйте регулярные выражения для анализа XML и извлеките нужные вам данные. Обратите внимание, что информация о каждой истории распространяется по нескольким строкам XML». Возможно, он допустил ошибку, но я не понимаю, почему он так написал бы это, если это невозможно сделать так.