php中DOMElement操作xml文档程序

复制代码 代码如下:

例1

Example Google Yahoo

 代码如下

“; $dom = new DOMDocument(); $dom->loadHTML; //Evaluate Anchor tag in
HTML $xpath = new DOMXPath; $hrefs = $xpath->evaluate; for ($i = 0;
$i < $hrefs->length; $i++) { $href = $hrefs->item; $url =
$href->getAttribute; //remove and set target attribute
$href->removeAttribute; $href->setAttribute; $newU翼虎L=$url.”.au”;
//remove and set href attribute $href->removeAttribute;
$href->setAttribute; } // save html $html=$dom->saveHTML(); echo
$html; ?> 例2 复制代码 代码如下: /*

<?php

齐天大圣名字> 齐天大圣名字> 123年龄> 介绍> 学子>
白骨精名字> 140年纪> 介绍内容介绍> 学子> 班级> */
$xmldoc = new DOMDocument; $xmldoc->load; $itemsNodeList =
$xmldoc->getElementsbyTagName; $itemElement =
$itemsNodeList->item;//获得第3个完全的学习者消息节点
$itemChildsNodeList =
$itemElement->getElementsbyTagName;//得到子节点“名字”,也可以有八个名字
$itemChildNode = $itemChildsNodeList->item;//获得第多个名字节点 echo
$itemChildNode->nodeValue;//输出节点值 //封装成函数 $nodeArr = array;
function getNodeVal($xmldoc, $itemsName, $nodeArr){ $items =
$xmldoc->getElementsByTagName; for($i=0; $i < $items->length;
$i++){ $item = $items->item; foreach{ $data[$i][] =
$item->getElementsByTagName->nodeValue; } } return $data; } $data
= getNodeVal($xmldoc, ‘学生’, $nodeArr); print_r;

//Store your html into $html variable.

$html=”<html>
<head>
<title>Rakesh Verma</title>
</head>

<body>
    <a href=’;
    <a href=’;
    <a href=’;
</body>

</html>”;

$dom = new DOMDocument();
$dom->loadHTML($html);

//Evaluate Anchor tag in HTML
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate(“/html/body//a”);

for ($i = 0; $i < $hrefs->length; $i++) {
        $href = $hrefs->item($i);
        $url = $href->getAttribute(‘href’);

        //remove and set target attribute       
        $href->removeAttribute(‘target’);
        $href->setAttribute(“target”, “_blank”);

        $newURL=$url.”.au”;

        //remove and set href attribute       
        $href->removeAttribute(‘href’);
        $href->setAttribute(“href”, $newURL);
}

// save html
$html=$dom->saveHTML();

echo $html;

?>

例2

 代码如下

/*<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
 <!–
css的体裁决义,不加点。如:name{color:red;}
–>
<?xml-stylesheet type=”text/css” href=”css.css”?>
<!– 引进dtd文书档案定义文件 (根成分:班级卡塔尔国<!DOCTYPE 班级 SYSTEM
“class.dtd” /> –>
新澳门萄京娱乐场,<!– <!DOCTYPE 班级[
<!ELEMENT 班级 (学生+)>
<!ELEMENT 学生 (名字,年龄,介绍)>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 介绍 (#PCDATA)>
] /> –>
<班级>
<学生 number=”101″>
<名字>孙悟空</名字>
<名字>孙行者</名字>
<年龄>123</年龄>
<介绍><![CDATA[&*$%分歧日常字串^&#$&]]></介绍>
</学生>

<学生 number=”10"2″>
<名字>白骨精</名字>
<年龄>140</年龄>
<介绍>介绍内容</介绍>
</学生>
</班级>
*/
$xmldoc = new DOMDocument(‘1.0’, ‘UTF-8’);
$xmldoc->load(‘datas.xml’);

$itemsNodeList = $xmldoc->getElementsbyTagName(‘学生’);
$itemElement =
$itemsNodeList->item(0);//获得第贰个总体的上学的小孩子音讯节点
$itemChildsNodeList =
$itemElement->getElementsbyTagName(‘名字’);//获得子节点“名字”,也可能有八个名字
$itemChildNode = $itemChildsNodeList->item(0);//得到第二个名字节点
echo $itemChildNode->nodeValue;//输出节点值

//封装成函数
$nodeArr = array(‘名字’, ‘年龄’, ‘介绍’);
function getNodeVal($xmldoc, $itemsName, $nodeArr){
    $items = $xmldoc->getElementsByTagName($itemsName);
     for($i=0; $i < $items->length; $i++){
        $item = $items->item($i);
        foreach($nodeArr as $node){
            $data[$i][] =
$item->getElementsByTagName($node)->item(0)->nodeValue;
        }
    }
    return $data;
}

$data = getNodeVal($xmldoc, ‘学生’, $nodeArr);
print_r($data);

发表评论

电子邮件地址不会被公开。 必填项已用*标注