为了账号安全,请及时绑定邮箱和手机立即绑定

接收来自 xml 文件的响应时如何获取不同的标记值

接收来自 xml 文件的响应时如何获取不同的标记值

PHP
隔江千里 2022-05-27 10:03:13
我有一个 xml 文件和一个 php 文件。我收到了来自 xml 文件的结果,但我无法获得标签的不同值。我想要的是来自各个标签的数据。知道该怎么做它?这是xml文件:<?xml version="1.0" encoding="utf-8"?><users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><user><id>1</id><username>neem99</username><password>dbhcasvc</password><email>vgwdevwe@hfvuejd.com</email></user></users>示例 php 文件:$xp = new DOMXPath( $dom );echo var_dump($xp);$col = $xp->query( $query );echo var_dump($col);$array = array();if( $col->length > 0 ){    foreach( $col as $node) echo $node->nodeValue}result :   1 neem99 dbhcasvc vgwdevwe@hfvuejd.com 
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

DOMXpath::evaluate()允许使用返回标量值的 Xpath 表达式。string()通过返回第一个节点的文本内容将节点列表转换为字符串。


演示:


$document = new DOMDocument();

$document->loadXML($xml);

$xpath = new DOMXpath($document);


// get first user id

var_dump($xpath->evaluate('string(/users/user/id)'));


//iterate all user nodes

foreach ($xpath->evaluate('/users/user') as $user) {

    // get its username

    var_dump($xpath->evaluate('string(username)', $user));

}


查看完整回答
反对 回复 2022-05-27
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

我会喜欢:


$doc = new DOMDocument; @$doc->load('yourFileName.xml');

$user = $doc->getElementsByTagName('user');

foreach($user as $u){

  echo 'nodeName:'.$u->nodeName.'; nodeValue:'.$u->nodeValue.PHP_EOL;

}


查看完整回答
反对 回复 2022-05-27
  • 2 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信