当前位置: 首页 > 面试题库 >

PHP名称空间simplexml问题

潘英豪
2023-03-14
问题内容

我正在从源头解析XML文档,并且它们使用自定义名称空间。

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
  <channel>
   <item>
    <link>qweqwe</link>
    <moshtix:genre>asdasd</moshtix:genre>
...

例如。当我使用SimpleXML进行解析时,mostix:名称空间元素均未显示或不可访问。可能是一个非常简单的解决方案,但是有什么想法吗?


问题答案:

通常,人们使用children()。

$rss = simplexml_load_string(
    '<?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
        <channel>
            <link>qweqwe</link>
            <moshtix:genre>asdasd</moshtix:genre>
        </channel>
    </rss>'
);

foreach ($rss->channel as $channel)
{
    echo 'link: ', $channel->link, "\n";
    echo 'genre: ', $channel->children('moshtix', true)->genre, "\n";
}


 类似资料:
  • 问题内容: 我正在尝试为RSS提要中的每个条目获取entry-> id和entry-> cap:parameter-> value…。以下是我正在使用的代码。它正确显示了ID,但未显示值字段。…请帮助。 我在这里先向您的帮助表示感谢。 问题答案: 该元素是不是在同一个命名空间为: 因此,您必须再次致电。 代码(演示)

  • 问题内容: 我知道这个问题已经被问了很多遍了,但是我没有得到任何适合我情况的建议,因此我在网上和这里进行搜索,尝试了所有方法,但没有任何效果。我只需要用命名空间cap解析此XML:并且只需要其中的四个条目。 我正在使用simpleXML,并且设置了一个小的简单测试脚本,它非常适合解析常规元素。我无法为自己的狄更斯找到或获得一种使用命名空间解析元素的方法。 这是一个小示例测试脚本,其中包含我正在使用

  • 问题内容: 在花了几个令人沮丧的时间后,我正在寻求您的帮助。 我正在尝试从SOAP响应中获取特定节点的内容。 响应是 我试图了解 的节点和子节点。由于XML包含名称空间 不起作用。我已经阅读了许多文章,例如 http://www.sitepoint.com/blogs/2005/10/20/simplexml-and-namespaces/ http://blog.stuartherbert.co

  • 问题内容: 当我在下面尝试添加为属性时,我正在创建Atom供稿- 我将此作为输出- 部分被切断。我需要转义- 字符吗?还是他们以其他方式添加此命名空间? 问题答案: 如果要从名称空间/前缀向$ node 添加属性,则无需事先声明名称空间。只需使用addAttribute()的第三个参数为您在第一个参数中使用的前缀提供名称空间uri。 版画 如果不需要属性本身,则可以使用删除它,而保留名称空间声明。

  • 我对C++不是很熟悉,这是我第一次使用的不仅仅是名称空间std。下面的有什么区别? VS 在这两个之后,我现在似乎可以创建一个MyClass对象了。一种方式比另一种好吗?另外,如果我都不这样做,我还可以通过每次需要时在MyNamespace::MyClass之前附加MyClass来引用MyClass吗? 接下来,如果我使用第二个选项转发declare,我还需要吗?在我(不是很好)的理解中,在C++

  • 问题内容: 我在命名空间和语句上遇到了一些麻烦。 我有三个文件:,和。 我正在尝试使用相对路径进行此操作,因此已将其放在所有类中: 在我的圈子课程中,我有以下内容: 如果使用这些语句,我不会出错。如果我尝试以下语句,则会得到: 致命错误:在第8行的/Users/shawn/Documents/work/sites/workspace/shape/Circle.php中找不到类’Shape \ Sh