So, I'm parsing data from an XML feed in to php variables and everything is fine with the exception of the "link" element. It's not in a child like the others.
A cleaner, simpler example of the structure is below:
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
<link href="http://example.com">
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
<link href="http://example.com">
</book>
</bookstore>
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
<link href="http://example.com">
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
<link href="http://example.com">
</book>
</bookstore>
How do I read the link/href part of the XML in the parent node /bookstore/ and put it in to a string? It looks like it's been badly formatted, but I can't change it as it's supplied by a third party.
I thought I could load the entire /bookstore/ parent and search through it for the link and pull the value that way but it won't load the entire bookstore element.
My code is also extracting the other child tags fine and running through a loop to show the data in a list. Any help would be appreciated.
Edit: This is the link to the XML file I have to use: https://www.reddit.com/r/elderscrollsonline.xml
For SimpleXML - this code:
$rss = 'some_url_here';
$xml = simplexml_load_file($rss);
For you xml:
foreach($xml->bookstore as $bookstore) {
foreach ($bookastore as $book)
echo (string)$book->link['href'];
}
For links in https://www.reddit.com/r/elderscrollsonline.xml:
foreach($xml->entry as $book) echo (string)$book->link['href'];