时间:2021-05-26
看了这个问题,第一个反应就是namespace的关系,但我从来没有使用simplexml操作过namespace,于是就翻开手册查了一下资料,问题并没有解决,最终是通过google解决了该问题。
提问题的朋友贴出了数据源,来自于:http://code.google.com/intl/zh-CN/apis/contacts/docs/3.0/developers_guide_protocol.html#retrieving_without_query,数据结构大致如下:
复制代码 代码如下:
<feed xmlns='http:///g/2005');
echo $gd->phoneNumber;
}
只是象第二种写法就属于硬编码了,这样不太好,万一哪天有变化,还得再更改N多代码。
问题接踵而来,比如象下面这段:
复制代码 代码如下:
<event:event>
<event:sessionKey></event:sessionKey>
<event:sessionName>Learn QB in Minutes</event:sessionName>
<event:sessionType>9</event:sessionType>
<event:hostWebExID></event:hostWebExID>
<event:startDate>02/12/2009</event:startDate>
<event:endDate>02/12/2009</event:endDate>
<event:timeZoneID>11</event:timeZoneID>
<event:duration>30</event:duration>
<event:description></event:description>
<event:status>NOT_INPROGRESS</event:status>
<event:panelists></event:panelists>
<event:listStatus>PUBLIC</event:listStatus>
</event:event>
这种非标准的XML,没有定义命名空间,怎么办?在这种情况下,其实SimpleXmlElement就已经直接可以解决了,但是会报warnging,因为他认为event这个命名空间不存在。
解决方法是:
复制代码 代码如下:
$xml = @new SimpleXmlElement($str);//在前面加@抑止错误。
echo "<pre>";
print_r($xml);
目前看来,这种解决方法比较好。
PHP SimpleXML 函数 相关资料
https://www.jb51.net/w3school/php/php_ref_simplexml.htm
PHP SimpleXML
https://www.jb51.net/w3school/php/php_xml_simplexml.htm
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近看Ext源代码,看到了其实现命名空间函数的实现方法:ExtNameSpace实现代码:复制代码代码如下:namespace:function(){vara=
问题你想解析某个XML文档,文档中使用了XML命名空间。解决方案考虑下面这个使用了命名空间的文档:DavidBeazleyHelloWorldHelloWorl
这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。为什么要做序列化和反序列化?.Net程序执
一.Net框架中与XML有关的命名空间System.Xml包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、
前几天在TP中,使用PHP自带类,因为命名空间,遇到一个小问题。因为ThinkPHP中使用了命名空间,如果在Home命名空间下,直接执行如下代码$datetim