我有一个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.)
可能重复:
使用simplexml获取XML doc的根节点
问题:我通过SimpleXML得到了一些关于XML解析的问题.我仍然没有彻底解决它.
我知道在一个线程中询问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)