Я видел много учебников здесь в переполнении, но я не мог понять, что мне не хватает. Поэтому мне нужна помощь.
У меня есть XML, который находится в сети, и я пытаюсь его разобрать следующим образом:
<products> <product> <id>13389</id> <name><![CDATA[ product name ]]></name> <category id="14"><![CDATA[ Shoes > test1 ]]></category> <price>41.30</price> </products>
До сих пор я читаю XML и разбираю его так:
$reader = new XMLReader(); $reader->open($product_xml_link); while($reader->read()) { if($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'product' ) { $product = new SimpleXMLElement($reader->readOuterXml()); $pid = $product->id; $name = $product->name; $name = strtolower($name); $link = $product->link; $price = $product->Price; ... ... } } //end while loop
Как вы можете видеть, в теге категории есть идентификатор. Это тот, который я хотел бы захватить и перейти к моему коду.
Я сделал что-то вроде этого:
echo "prodcut= " . (string)$product->category->getAttribute('id');
Ошибка, которую я получаю: вызов неопределенного метода SimpleXMLElement :: getAttribute ()
Мне нужен этот идентификатор, чтобы проверить его, прежде чем вставлять его в БД. Итак,
if($id = 600) { //insert DB }