http://www.ibm.com/developerworks/cn/opensource/os-xmldomphp/请参考这个
解决方案 »
- 请各位大哥大姐帮我解答java和php的这个疑惑,谢谢!
- mysql_fetch_array(): supplied argument is not a valid MySQL result resource
- PHP学习
- mediawiki 如何跳过登录界面直接登录
- 模板引擎supertpl与smarty的区别
- 问个超新手弱智问题,linux系统下,开发PHP用什么?也是dreamweaver吗?
- 问什么apache下面不能正常加载flash?该怎么解决?
- 初学php,配制php的问题,无法加载LoadModule php5_module D:\php\php5apache2.dll!!
- 终于升了一级---小乐子与大家同享,顺便散分,周五下班前结贴
- 关于php5中clone的问题\\\\
- 关于登录系统后统计在线人数的方法,求高人指点迷津
- 如何把数组ID相同的弹出
你是说点击连接传参数过去吗?$codes = $item->getElementsByTagName( $_GET['code'] );
$code = $codes->item(0)->nodeValue; $names = $item->getElementsByTagName( "name" );
$name = $names->item(0)->nodeValue;
$name = iconv("UTF-8","GB2312",$name); $emails = $item->getElementsByTagName( "email" );
$email = $emails->item(0)->nodeValue;
你是指这样的吗?还是什么?
用dom操作xml.
1 code你这个是已经得到的了,不管你用什么方式,传给想得到code对应所有数据的程序.就可以了.
可是$_GET也可以是$_POST
2 处理的应用程序接收传过来的唯一的值.
查找 item这个节点,获得结点对象,遍历,如果发现与code相同的值,就返回当前item下所有其它标签的值.如果用xml解析函数将xml直接转成数组操作,可能是最普通也最直观的方式.上手也比较容易.
<name>ok</name>
<email>[email protected]</email>
</item>
$dom = new DomDocument('1.0', 'utf-8');
$dom -> load('sis.xml');
$xpath = new domxpath($dom);
$path = $xpath->query($路径);/rss/channel/item[position() = 1] 返回第一个item元素的子结点
/rss/channel/item[@eth='E2'] 返回所有含有eth属性并且值为E2的子结点
你的想法也能实现。很麻烦。得先取出所有<item>里的数据,然后比较出<code>的值等于2008102308042019的。再把其他数据取出。
$a = $xpath->query($nodes);
$roots = $a->item(0)->childNodes;
foreach ($roots as $root_value){
$number = $root_value->nodeType;
if($number == 1){
$arr[] = $root_value->nodeValue;
}
}
取出所有值。再比较~