相关疑难解决方法(0)

PHP5:在DOMDocument中查找根节点

我有一个PHP5 DOMDocument,我尝试找到根节点(不是根元素).

例:

<test>
    <element>
        <bla1>x</bla1>
        <bla2>x</bla2>
    </element>
    <element>
        <bla1>y</bla1>
        <bla2>y</bla2>
    </element>
    <element>
        <bla1>z</bla1>
        <bla2>z</bla2>
    </element>
</test>
Run Code Online (Sandbox Code Playgroud)

我想得到"测试"的DOMNode,以便我可以调用 - 例如 - hasChildNodes.我可以得到"documentElement",但这是一个DOMElement.也许我可以从那里出发?

$d = DOMDocument::loadXML($xml);
// [... do some stuff here to find document's root node ...]
if ($rootnode->hasChildNodes()) echo 'yayy!'
Run Code Online (Sandbox Code Playgroud)

谁能填补空白?我似乎是盲目的.

(显然不仅仅是我想要调用的hasChildNodes - 所以不,找到另一个方法来查找文档是否包含东西也无济于事.这只是我的简单示例.我最后需要一个DOMNode.)

php xml dom root-node

13
推荐指数
3
解决办法
2万
查看次数

SimpleXML - 如何获取根对象名称?

可能重复:
使用simplexml获取XML doc的根节点

问题:我通过SimpleXML得到了一些关于XML解析的问题.我仍然没有彻底解决它.

  • 我的根元素(config_admin)在哪里或者如何得到它的名字?
  • 为什么config_data数组是嵌套的?即使我用类中的config_data替换文件,我也得到相同的结果.
  • 访问我的元素的最佳方法是什么?
  • 我的doctype /元素定义有什么问题?

我知道在一个线程中询问3个Q是不好的习惯,但我不想用那么多重复的代码样本来打扰所有人.

我想花费我的知识,所以每个答案都是受欢迎的.即使它涉及代码样式或其他.谢谢.


我有一个像下面这样的xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE config_admin [
    <!ELEMENT config_admin (page,sub_page)>
        <!ELEMENT page (page_title,slug,menu_title)>
            <!ELEMENT page_title (#PCDATA)>
            <!ELEMENT slug (#PCDATA)>
            <!ELEMENT menu_title (#PCDATA)>
    ]>

    <config_admin>

    <!--
    MAIN Page
     -->
        <page>
            <page_title>OOO</page_title>
            <slug>ooo</slug>
            <menu_title>OOO</menu_title>
            <cap>manage_options</cap>
            <icon_url>OOO</icon_url>
            <position>OOO</position>

            <tabs>
                <abc_uid>abc</abc_uid>
                <def_uid>def</def_uid>
                <ghi_uid>ghi</ghi_uid>
            </tabs>

            <!-- Options for the main page -->
            <opt_group>
                <group_name>OOO</group_name>
                <opt_name>OOO</opt_name>
                <tab>ABC</tab>

                <!-- Section -->
                <section>
                    <section_title>OOO</section_title>
                    <section_UID>OOO</section_UID>

                    <!-- Defaults -->
                    <field_defaults>
                            <field_uid>Value</field_uid>
                            <_oxoxoxo>OXO</_oxoxoxo>
                            <_axaxaxa>AXA</_axaxaxa>
                            <_cxcxcxc>CXC</_cxcxcxc>
                    </field_defaults>
... etc. …
Run Code Online (Sandbox Code Playgroud)

php xml simplexml

4
推荐指数
1
解决办法
7548
查看次数

标签 统计

php ×2

xml ×2

dom ×1

root-node ×1

simplexml ×1