所以上面这代码可以简单改为:
<?php //1、创建一个DOMDocument对象。该对象就表示 xml文件 $xmldoc = new DOMDocument(); //2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中) $xmldoc->load("class.xml"); //3、目标:获取第一个学生的名字 $stu = $xmldoc->getElementsByTagName("name");//直接找到节点name $stu1 = $stu->item(0);// item(1)时,可以取到周瑜 echo $stu1->nodeValue; ?>
创建xml的各种节点
节点元素:createElement(标签名称)
文本元素:createTextNode(文本内容)
属性节点:createAttribute(属性名称)
CDATA节点:createCDATASection(文本内容)
父节点.appendChild(子节点)
dom创建xml文档案例
<?php ini_set('display_errors',1); //利用dom方式创建一个xml文档 /* <dog> <name>xiaohuang</name> <color>yellow</color> <age></age> </dog> */ $dom = new DOMDocument('1.0','utf-8'); //创建元素节点 $dog = $dom -> createElement('dog'); $name = $dom -> createElement('name'); $color = $dom -> createElement('color'); $age = $dom -> createElement('age'); //创建文本节点 $name_txt = $dom -> createTextNode('xiaohuang'); $color_txt = $dom -> createTextNode('yellow'); $age_txt = $dom -> createTextNode('2'); //追加 //元素节点追加文本节点 $name -> appendChild($name_txt); $color -> appendChild($color_txt); $age -> appendChild($age_txt); //元素节点追加元素节点 $dog -> appendChild($name); $dog -> appendChild($color); $dog -> appendChild($age); //最外面的根节点需要给dom节点追加 $dom -> appendChild($dog); //方法(1)输出xml信息到浏览器 header("content-type:text/xml;charset=utf-8"); echo $dom -> saveXML();//信息直接输出到浏览器中 //方法(2)输出xml信息到指定文件 $dom -> formatOutput = true; $dom -> save("./file_xml.xml");
结果为
创建属性节点
<?php ini_set('display_errors',1); //利用dom方式创建一个xml文档 /* <dog> <name weight="50" height="90">xiaohuang</name> <color>yellow</color> <age></age> </dog> */ $dom = new DOMDocument('1.0','utf-8'); //创建元素节点 $dog = $dom -> createElement('dog'); $name = $dom -> createElement('name'); $color = $dom -> createElement('color'); $age = $dom -> createElement('age'); //创建文本节点 $name_txt = $dom -> createTextNode('xiaohuang'); $color_txt = $dom -> createTextNode('yellow'); $age_txt = $dom -> createTextNode('2'); //追加 //元素节点追加文本节点 $name -> appendChild($name_txt); $color -> appendChild($color_txt); $age -> appendChild($age_txt); //元素节点追加元素节点 $dog -> appendChild($name); $dog -> appendChild($color); $dog -> appendChild($age); //创建属性节点方法(1),给name节点创建weight属性节点 $weight_txt = $dom -> createTextNode('50'); $weight = $dom -> createAttribute('weight'); $weight -> appendChild($weight_txt);//属性节点追加自己的文本节点 $name -> appendChild($weight);//属性节点被追加到对应的元素节点中 //创建属性节点方法(2),给name节点创建height属性节点 $name -> setAttribute('height',90); //最外面的根节点需要给dom节点追加 $dom -> appendChild($dog); //方法(1)输出xml信息到浏览器 header("content-type:text/xml;charset=utf-8"); echo $dom -> saveXML();//信息直接输出到浏览器中 //方法(2)输出xml信息到指定文件 $dom -> formatOutput = true; $dom -> save("./file_xml.xml");
内容版权声明:除非注明,否则皆为本站原创文章。