为了详细说明所发表的评论,以及您想要分享的可用信息,您的代码将按照宣传的方式工作,无论是否设置了 magic_quotes_gpc。它不会尝试对字符串执行任何算术运算,magic_quotes_gpc 不会影响 simplexml 解析其数据的方式。
~/temp ► cat foo.xml
<example>
<node-ex>
<identifier-1>ValueOfIdentifier1</identifier-1>
<phone-number-1>141 555 1414</phone-number-1>
</node-ex>
</example>
~/temp ► cat test.php
<?php
$root = simplexml_load_file("foo.xml");
echo $root->{'node-ex'}->{'identifier-1'} . "\n";
echo $root->{'node-ex'}->{'phone-number-1'} . "\n";
~/temp ► php test.php
ValueOfIdentifier1
141 555 1414
~/temp ► php -dmagic_quotes_gpc=1 test.php
ValueOfIdentifier1
141 555 1414
当然,如果您的示例与您实际使用的数据不同,那可能就是问题所在。如果启用了magic_quotes_gpc,则使用stripslashes() 应该将其反转,然后它应该可以工作。如果您使用的不是常量字符串,而是变量——这可能是问题的原因。但是,您的示例中没有任何内容表明任何应该受到 magic_quotes_gpc 或在属性名称中使用“-”的影响。