Home > Article > Backend Development > PHP parses XML files or xml strings through DOM_PHP tutorial
The previous article recorded the process of creating an XML document in PHP. This article will record how to parse the data and attribute values in the received XML string for further processing of the data.
xml file
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
1. $xml = new DOMDocument();
2.
3. //$xml->load("timeline.xml");
4. $xmlstring = '';
5. $xml->loadXML($xmlstring);
6.
7. $timedom = $xml->getElementsByTagName("time");
8. $d_array = array();
9. foreach ($timedom as $times){
10. $time_att_value = $times->getAttribute("value");
11. echo $time_att_value."
";
12. $d_worker = $times->getElementsByTagName("worker");
13. foreach ($d_worker as $d_work){
14. $worker_att_id = $d_work->getAttribute("id");
15. $worker_att_name = $d_work->getAttribute("name");
16. echo $worker_att_name."
";
17. //echo $worker_att_id."
";
18. $d_hours = $d_work->getElementsByTagName("hour");
19. foreach ($d_hours as $d_hour){
20. $hour_att_pid = $d_hour->getAttribute("pid");
21. $hour_att_pmid = $d_hour->getAttribute("pmid");
22.
23. echo count($d_hour);
24. echo $d_hour->nodeValue."
";
25. }
26. }
27. }
如果是xml文件,则用
$xml->load("timeline.xml");
如果是解析xml字符串则用
$xml->loadXML($xmlstring);
------------------------------------------------------
获得节点属性:getAttribute('id');
获得节点值:nodeValue;
本文出自 “Bob” 博客