您的位置:首页 > 编程语言 > PHP开发

XML

2015-08-20 18:00 701 查看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试dtd</title>
<script>
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.validateOnParse="true";
//必须同步;
xmlDoc.async="false";
xmlDoc.load("test.xml");

document.write("<br />Error Code: ");
document.write(xmlDoc.parseError.errorCode);

document.write("<br />Error Reason: ");
document.write(xmlDoc.parseError.reason);
document.write("<br />Error Line: ");
document.write(xmlDoc.parseError.line);
</script>
</head>

<body>
TEST OK;
</body>
</html>



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<?php
$xmlDoc=new DOMDocument();
$xmlDoc->load("test.xml");
//$stus是一个Nodelist对象;
$stus=$xmlDoc->getElementsByTagName("stu");
echo "Total:".$stus->length;
$stu1=$stus->item(2);
$name1=$stu1->getElementsByTagName("name");
var_dump($stu1);
echo $name1->item(0)->nodeValue;
//echo $name1;

echo "<br><br>";
function getNodeVal(&$mynode,$tagname){
$nodeList=$mynode->getElementsByTagName($tagname);
echo "<br>-------------";
var_dump($nodeList);
$node=$nodeList->item(0);
echo "<br>--------------";
var_dump($node);
$value=$node->nodeValue;
echo "<br>---------";
var_dump($value);
return $mynode->getElementsByTagName($tagname)->item(0)->nodeValue;
}
echo getNodeVal($stu1,"age");
?>
</html>


<!DOCTYPE html>
<<
fb66
span style="color:#0000ff;">html lang="en">
<head>
<meta charset="UTF-8">
</head>
<?php
$xmlDoc=new DOMDocument();
$xmlDoc->load("test.xml");
$stus=$xmlDoc->getElementsByTagName("stu");
for($i=0;$i<$stus->length;$i++){
$stu=$stus->item($i);
echo getNodeVal($stu,"name")."<br>";
echo getNodeVal($stu,"age")."<br>";
echo getNodeVal($stu,"sex")."<br>";

}

function getNodeVal(&$mynode,$tagname){

return $mynode->getElementsByTagName($tagname)->item(0)->nodeValue;
}
?>
</html>


<?php
//添加XML元素和属性;
$xmlDoc=new DOMDocument();
$xmlDoc->load("test.xml");
$root=$xmlDoc->getElementsByTagName("class")->item(0);
$stu_node=$xmlDoc->createElement("stu");
//添加属性;
$stu_node->setAttribute("salary","8000");
$stu_node_name=$xmlDoc->createElement("name");
$stu_node_name->nodeValue="David";
$stu_node->appendChild($stu_node_name);

$stu_node_age=$xmlDoc->createElement("age");
$stu_node_age->nodeValue=35;
$stu_node->appendChild($stu_node_age);

$stu_node_sex=$xmlDoc->createElement("sex");
$stu_node_sex->nodeValue="male";
$stu_node->appendChild($stu_node_sex);

$stu_node_hobby=$xmlDoc->createElement("hobby");
$stu_node_hobby->nodeValue="soccer";
$stu_node->appendChild($stu_node_hobby);

$root->appendChild($stu_node);
$xmlDoc->save("test.xml");
-----------------------------------------------------<?php
//删除XML元素;
$xmlDoc=new DOMDocument();
$xmlDoc->load("test001.xml");
$root=$xmlDoc->getElementsByTagName("class")->item(0);
$stus=$xmlDoc->getElementsByTagName("stu");
$stu1=$stus->item(2);
//$root->removeChild($stu1);
$stu1->parentNode->removeChild($stu1);
$xmlDoc->save("test001.xml");
echo "Deleted";-------------------------------------------------------
<?php
//更新XML;
$xmlDoc=new DOMDocument();
$xmlDoc->load("test001.xml");
$stus=$xmlDoc->getElementsByTagName("stu");
$stu1=$stus->item(0);
$stu_age=$stu1->getElementsByTagName("age")->item(0);
$stu_age->nodeValue+=24;
$xmlDoc->save("test002.xml");
---------------------------------------------------------
simpleXML
<?php
$lib=simplexml_load_file("test001.xml");
//var_dump($lib);
$stus=$lib->stu;
echo count($stus)."<br>";
$stu1=$stus[0];
echo $stu1->name;
echo "<br>".$stu1['salary']."<br>";
$names=$lib->xpath("//name");
foreach($names as $key=>$val){
echo "<br>".$key.$val;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP XML