• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php解析cas返回的xml

php 搞代码 3年前 (2022-01-23) 9次浏览 已收录 0个评论
文章目录[隐藏]

使用php进行cas验证时,对方返回这么一段xml

            zhangjian            

于是使用php相关函数进行解析

$str = <<<EOT            zhangjian            EOT;/*$validateXML = simplexml_load_string($str);print_r($validateXML);$successnode = $validateXML->authenticationSuccess[0];var_dump($successnode);*/$xml = new DOMDocument();$xml -> loadXML($str);var_dump($xml);

结果都解析不出来,哪位朋友遇到过请指点下,不甚感激!!!

回复讨论(解决方案)

SimpleXM

!本文来源gaodai.ma#com搞##代!^码网(

搞gaodaima代码L也是PHP5后提供的一套简单易用的xml工具集,
不过它不适用于包含namespace(命名空间)的xml。

怎么会?

<?php$str = <<<EOT            zhangjian            EOT;  $validateXML = simplexml_load_string($str, null, 0, 'cas', true);print_r($validateXML);$successnode = $validateXML->authenticationSuccess[0];print_r($successnode); $xml = new DOMDocument();$xml -> loadXML($str);print_r($xml);
SimpleXMLElement Object(    [authenticationSuccess] => SimpleXMLElement Object        (            [user] => zhangjian            [language] => SimpleXMLElement Object                (                )        ))SimpleXMLElement Object(    [user] => zhangjian    [language] => SimpleXMLElement Object        (        ))DOMDocument Object(    [doctype] =>     [implementation] => (object value omitted)    [documentElement] => (object value omitted)    [actualEncoding] =>     [encoding] =>     [xmlEncoding] =>     [standalone] => 1    [xmlStandalone] => 1    [version] => 1.0    [xmlVersion] => 1.0    [strictErrorChecking] => 1    [documentURI] => file:///D:/AMP/web/    [config] =>     [formatOutput] =>     [validateOnParse] =>     [resolveExternals] =>     [preserveWhiteSpace] => 1    [recover] =>     [substituteEntities] =>     [nodeName] => #document    [nodeValue] =>     [nodeType] => 9    [parentNode] =>     [childNodes] => (object value omitted)    [firstChild] => (object value omitted)    [lastChild] => (object value omitted)    [previousSibling] =>     [attributes] =>     [ownerDocument] =>     [namespaceURI] =>     [prefix] =>     [localName] =>     [baseURI] => file:///D:/AMP/web/    [textContent] =>             zhangjian            )

谢谢唠叨大大,刚刚使用一个方法解决了,不过没有大大的好

$str = <<<EOT            zhangjian            EOT;$str = str_replace('cas:', '', $str);$validateXML = simplexml_load_string($str);$successnode = $validateXML->authenticationSuccess[0];echo (string)$successnode->user;

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php解析cas返回的xml
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址