Simple HTML Dom, XML-vraagje
PHP er
18/02/2021 10:47:56Hoi allemaal,
Ik heb een vraag over simple html dom, over het uitlezen van een XML-feed. Nu kun je natuurlijk met:
bijvoorbeeld de titel laten weergeven. Maar, stel, hoe zou je dan bij onderstaand stukje:
'Red' kunnen laten weergeven (dus field name color)? heb al gegoogled, maar daar wordt ik niet echt wijzer uit omdat ik niet weet of ik dan überhaupt getElementsByTagName moet hebben, of iets anders.
Ik heb een vraag over simple html dom, over het uitlezen van een XML-feed. Nu kun je natuurlijk met:
bijvoorbeeld de titel laten weergeven. Maar, stel, hoe zou je dan bij onderstaand stukje:
Code (php)
1
2
3
4
5
2
3
4
5
<fields>
<field name="category">Food</field>
<field name="color">Red</field>
<field name="image">None</field>
</fields>
<field name="category">Food</field>
<field name="color">Red</field>
<field name="image">None</field>
</fields>
'Red' kunnen laten weergeven (dus field name color)? heb al gegoogled, maar daar wordt ik niet echt wijzer uit omdat ik niet weet of ik dan überhaupt getElementsByTagName moet hebben, of iets anders.
PHP hulp
24/11/2024 16:07:40Gebruik Xpath:
https://stackoverflow.com/questions/45639012/php-read-xml-node-value-depending-on-parameter-value
https://stackoverflow.com/questions/45639012/php-read-xml-node-value-depending-on-parameter-value
XPath is minder simpel, maar meer flexibel.
Zie:
- https://www.php.net/manual/en/book.dom.php
- https://www.w3schools.com/xml/xpath_intro.asp
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$data = <<<XML
<?xml version='1.0' standalone='yes'?>
<fields>
<field name="category">Food</field>
<field name="color">Red</field>
<field name="image">None</field>
</fields>
XML;
$dom = new DOMDocument;
$dom->loadXML($data);
$xpath = new DOMXPath($dom);
print $xpath->query('/fields/field[@name="color"]')[0]->nodeValue;
?>
$data = <<<XML
<?xml version='1.0' standalone='yes'?>
<fields>
<field name="category">Food</field>
<field name="color">Red</field>
<field name="image">None</field>
</fields>
XML;
$dom = new DOMDocument;
$dom->loadXML($data);
$xpath = new DOMXPath($dom);
print $xpath->query('/fields/field[@name="color"]')[0]->nodeValue;
?>
Zie:
- https://www.php.net/manual/en/book.dom.php
- https://www.w3schools.com/xml/xpath_intro.asp