您好,欢迎访问一九零五行业门户网

php中的XML DOM(10),xmldom_PHP教程

php中的xml dom(10),xmldom1.php dom (1)
php中的dom跟javascript不一样,属性不用另外增加一个节点
2.主要类
     domdocument :文档类
     domnodelist :节点列表类
     domnode :节点类
     domelement :元素类
3. domdocument类
  3.1创建文档对象
     domdocument::__construct ([ string $version [, string $encoding ]] )
     [ string $version :版本号
     [, string $encoding ]]:字符集
  3.2、加载xml文件
     mixed domdocument::load ( string $filename)
     string $filename:要加载的xml文件名称
  3.3、获取节点
     domnodelist domdocument::getelementsbytagname ( string name )
     string name:要获取的节点名
示例:demo.php
load ( 'demo01.xml' );// 通过dom对象获取person节点,注意:这里返回值是一个domnodelist类对象 $persons = $dom->getelementsbytagname ( 'person' );// 共有几个person echo '共有' . $persons->length . '个人
'; //输出共有两个人// 选中索引为0的person,也就是第一个人 $person = $persons->item ( 0 );// 在这个person下获取name节点,返回的仍然是一个domnodelist类对象 $names = $person->getelementsbytagname ( 'name' ); // 输出姓名echo $names->item ( 0 )->nodevalue . '
'; //输出'张三'为什么要进行两次取的nodelist呢?请参照上图,因为有两个节点
demo.xml
zhangsan 30 wangwu 18
4. domnodelist类 (上面的person就是nodelist节点)
1、length
当前节点列表中共有几个节点
2、domelement domnodelist::item ( int $index )
选中索引为index的节点
int $index:索引
5、 domnode类
1、nodevalue 节点的值
6、 关于属性的读取
1、bool domelement::hasattribute ( string $name )
判断是否具有某个属性(只判断某个属性下有没有)
string $name:属性名
2、bool domnode::hasattributes ( void )
判断是否具有属性(只要有属性就返回true)
3、string domelement::getattribute ( string $name )
获取指定属性的属性值
string $name:属性名
示例2.用连贯操作输出
load ( 'demo01.xml' );// 想得到第一个人的姓名 echo $dom->getelementsbytagname ( 'person' )->item ( 0 ) ->getelementsbytagname ( 'name' )->item ( 0 )->nodevalue;输出:张三
example3:
load ( 'demo01.xml' ); $person = $dom->getelementsbytagname ( 'person' )->item ( 0 );// 判断节点是否具有id属性 if ($person->hasattribute ( 'id' )) { echo '具有id属性'; } else { echo '没有id属性'; } echo '
';// 判断节点是否具有属性 if ($person->hasattributes ()) { echo '有属性'; } else { echo '没有任何属性'; } echo '
';// 得到第一个person的id属性值 echo $person->getattribute ( 'id' );
之前的例子只能得到一条数据,现在我想得到所有人的完整信息,该如何实现?
示例4:
load ( 'demo01.xml' );// 得到所有person节点 $persons = $dom->getelementsbytagname ( 'person' );// 得到总人数 $count = $persons->length; for($i = 0; $i item ( $i ); echo '第' . ($i + 1) . '个人的'; if ($person->hasattribute ( 'id' )) { echo '学号:' . $person->getattribute ( 'id' ); } echo '姓名:' . $person->getelementsbytagname ( 'name' )->item ( 0 )->nodevalue; echo '年龄:' . $person->getelementsbytagname ( 'age' )->item ( 0 )->nodevalue; echo '
'; }?>
http://www.bkjia.com/phpjc/971770.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/971770.htmltecharticlephp中的xml dom(10),xmldom 1.php dom (1) php中的dom跟javascript不一样,属性不用另外增加一个节点 2. 主要类 domdocument :文档类 domnodelist :节点列...
其它类似信息

推荐信息