PHP XML DOM

内建的 DOM 解析器使在 PHP 中处理 XML 文档成为可能。

DOM ఏమిటి?

W3C DOM HTML మరియు XML పత్రాలకు ప్రామాణిక ఆబ్జెక్ట్ సెట్టును మరియు ఈ పత్రాలను ప్రాప్యత చేయడం మరియు కాపీ చేయడం కోసం ప్రామాణిక ఇంటర్ఫేస్స్లను అందిస్తుంది.

W3C DOM వివిధ భాగాలు (Core, XML, HTML) మరియు వివిధ స్థాయిలు (DOM Level 1/2/3)లో విభజించబడింది:

  • Core DOM - ఏ రీతిలోనైనా సంక్రమించబడిన పత్రాలకు ప్రామాణిక ఆబ్జెక్ట్ సెట్టు నిర్వహిస్తుంది
  • XML DOM - XML పత్రాలకు ప్రామాణిక ఆబ్జెక్ట్ సెట్టు నిర్వహిస్తుంది
  • HTML DOM - HTML పత్రాలకు ప్రామాణిక ఆబ్జెక్ట్ సెట్టు నిర్వహిస్తుంది

如果您希望学习更多有关 XML DOM 的知识,请访问我们的 XML DOM శిక్షణాలు

XML పరిశీలకం

చదవడానికి మరియు నవీకరించడానికి - సృష్టించి ప్రాసెస్ చేయడానికి ఒక XML పత్రాన్ని, మీరు XML పరిశీలకం అవసరం.

రెండు ప్రధాన పరిశీలకం రకాలు ఉన్నాయి:

  • చెట్టు ఆధారిత పరిశీలకంఈ పరిశీలకం ప్రతి XML పత్రాన్ని చెట్టు రూపంగా మారుస్తుంది. మొత్తం పత్రాన్ని పరిశీలిస్తుంది మరియు అంశాలను అన్వేషించడానికి API అందిస్తుంది, ఉదాహరణకు డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్ (DOM).
  • సంఘటనా ఆధారిత పరిశీలకంప్రతి విశేషమైన సంఘటనను పరిగణించడానికి: పరిశీలకం ఫంక్షన్స్ కాల్ చేస్తుంది.

చెట్టు ఆధారిత పరిశీలకం

క్రింది విధంగా XML పత్రం పరిపక్వ పరిభాషణ చూడండి:

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>జాన్</from>

XML DOM ప్రతి XML ను చెట్టు రూపంగా పరిగణిస్తుంది:

  • స్థాయి 1: XML పత్రం
  • స్థాయి 2: ప్రాధమిక అంశం: <from>
  • స్థాయి 3: టెక్స్ట్ అంశం: "జాన్"

సంస్థాపించడం

DOM XML పరిశీలకం ఫ్లాగ్స్టార్ట్ భాగంగా ఉంటుంది. సంస్థాపించకుండా ఈ ఫంక్షన్స్ ఉపయోగించవచ్చు.

XML ఫైల్

మా ఉదాహరణలో క్రింది విధంగా XML ఫైల్ ఉపయోగించబడుతుంది:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>జార్జ్</to>
<from>జాన్</from>
<heading>గుర్తుంచుకోండి</heading>
<body>మీరు సమావేశాన్ని మర్చిపోకుండా ఉంచండి!</body>

లోడ్ మరియు అవుట్పుట్ చేయడం లోడ్

మా ఉదాహరణలో, క్రింది విధంగా XML పరిశీలకను ప్రారంభించి, లోడ్ చేసి, దానిని అవుట్పుట్ చేయాలి:

例子

load("note.xml");
print $xmlDoc->saveXML();
?>

以上代码的输出:

జార్జ్ జాన్ గుర్తుంచుకోండి సమావేశాన్ని మర్చిపోకుండా ఉంచండి!

మీరు బ్రౌజర్ విండోలో సోర్స్ కోడ్ చూస్తే, క్రింది వంటి HTML ను చూడగలరు:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>జార్జ్</to>
<from>జాన్</from>
<heading>గుర్తుంచుకోండి</heading>
<body>మీరు సమావేశాన్ని మర్చిపోకుండా ఉంచండి!</body>

上面的例子创建了一个 DOMDocument-Object,并把 "note.xml" 中的 XML 载入这个文档对象中。

saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它。

循环 XML

我们要初始化 XML 解析器,加载 XML,并循环 元素的所有元素:

例子

load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
  {
  print $item->nodeName . " = " . $item->nodeValue . "
"; } ?>

以上代码的输出:

#text = 
to = George
#text = 
from = John
#text = 
heading = Reminder
#text = 
body = Don't forget the meeting!
#text =

在上面的例子中,您看到了每个元素之间存在空的文本节点。

当 XML 生成时,它通常会在节点之间包含空白。XML DOM 解析器把它们当作普通的元素,如果您不注意它们,有时会产生问题。

如果您希望学习更多有关 XML DOM 的知识,请访问我们的 XML DOM శిక్షణాలు