PHP SimpleXML 可选子节点
PHP SimpleXML Optional Child Nodes
我正在尝试根据子节点分隔我的子节点,但我不知道如何验证节点是否具有值。
这是我的 XML:
<?xml version="1.0"?>
<testcase>
<steps>
<step id="one">
<command>gettitle</command>
</step>
<step id="two">
<command>click</command>
<parameter>id=searchByAddressSubmit</parameter>
</step>
</steps>
</testcase>
这是我的代码:
$testcase = new SimpleXMLElement($xml);
foreach($testcase->steps->step as $step) {
echo $step->parameter;
echo $step->command;
if(empty($step->parameter)) {
echo $step>command;
}
}
结果应该是:
gettitle
我试过 empty()、array_key_exists() 和 is_null(),但似乎没有任何方法可以选择缺失值。 有什么想法吗?
如果这确实是一个拼写错误并且你没有得到任何输出,这只是意味着你在这一行有错误:
echo $step>command;
应该是->
.
如果你打开了错误报告,它应该给出错误信息:
Notice: Use of undefined constant command - assumed 'command' in
这应该是:
// turn on error reporting on development
error_reporting(E_ALL);
ini_set('display_errors', '1');
$testcase = new SimpleXMLElement($xml);
foreach($testcase->steps->step as $step) {
if(empty($step->parameter)) {
echo $step->command; // fixed arrow operator
}
}
我正在尝试根据子节点分隔我的子节点,但我不知道如何验证节点是否具有值。
这是我的 XML:
<?xml version="1.0"?>
<testcase>
<steps>
<step id="one">
<command>gettitle</command>
</step>
<step id="two">
<command>click</command>
<parameter>id=searchByAddressSubmit</parameter>
</step>
</steps>
</testcase>
这是我的代码:
$testcase = new SimpleXMLElement($xml);
foreach($testcase->steps->step as $step) {
echo $step->parameter;
echo $step->command;
if(empty($step->parameter)) {
echo $step>command;
}
}
结果应该是:
gettitle
我试过 empty()、array_key_exists() 和 is_null(),但似乎没有任何方法可以选择缺失值。 有什么想法吗?
如果这确实是一个拼写错误并且你没有得到任何输出,这只是意味着你在这一行有错误:
echo $step>command;
应该是->
.
如果你打开了错误报告,它应该给出错误信息:
Notice: Use of undefined constant command - assumed 'command' in
这应该是:
// turn on error reporting on development
error_reporting(E_ALL);
ini_set('display_errors', '1');
$testcase = new SimpleXMLElement($xml);
foreach($testcase->steps->step as $step) {
if(empty($step->parameter)) {
echo $step->command; // fixed arrow operator
}
}