PHP xml_parser_set_option() 函数通过 XML 解析器设置选项值。
语法
xml_parser_set_option(parser, option, value)
参数
parser | 必需。 指定对 XML 解析器的引用以在其中设置选项。 |
option | 必需。 指定要设置的选项。可能的值为:
|
value | 必需。 指定选项的新值。 |
返回值
如果解析程序未引用有效的解析程序,或者无法设置该选项,则返回false。否则,将设置该选项并返回true。
示例:
在下面的示例中,使用 xml_parser_create() 函数创建 XML 解析器。然后,xml_parser_set_option()函数用于设置此 XML 解析器的选项值。
<?php
//创建XML解析器
$parser=xml_parser_create();
//设置XML_OPTION_CASE_FOLDING的值
$retval1 = xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
if($retval1)
echo "XML_OPTION_CASE_FOLDING is set successfully.<br>";
else
echo "Getting error while setting XML_OPTION_CASE_FOLDING.<br>";
//设置XML_OPTION_SKIP_TAGSTART的值
$retval2 = xml_parser_set_option($parser, XML_OPTION_SKIP_TAGSTART, 1);
if($retval2)
echo "XML_OPTION_SKIP_TAGSTART is set successfully.<br>";
else
echo "Getting error while setting XML_OPTION_SKIP_TAGSTART.<br>";
//设置XML_OPTION_TARGET_ENCODING的值
$retval3 = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'US-ASCII');
if($retval3)
echo "XML_OPTION_TARGET_ENCODING is set successfully.<br>";
else
echo "Getting error while setting XML_OPTION_TARGET_ENCODING.<br>";
//免费的XML解析器
xml_parser_free($parser);
?>
上述代码的输出将是:
XML_OPTION_CASE_FOLDING is set successfully.
XML_OPTION_SKIP_TAGSTART is set successfully.
XML_OPTION_TARGET_ENCODING is set successfully.
示例:
考虑下面的示例,其中尝试设置选项的值将其设置为无效值。在这种情况下,会发生运行时错误。
<?php
//创建XML解析器
$parser=xml_parser_create();
//设置XML_OPTION_TARGET_ENCODING的值
$retval = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-16');
if($retval)
echo "XML_OPTION_TARGET_ENCODING is set successfully.<br>";
else
echo "Getting error while setting XML_OPTION_TARGET_ENCODING.<br>";
//免费的XML解析器
xml_parser_free($parser);
?>
上述代码的输出将是:
PHP Fatal error: Uncaught ValueError: xml_parser_set_option(): Argument #3 ($value) is not a supported target encoding in Main.php:6
Stack trace:
#0 Main.php(6): xml_parser_set_option()
#1 {main}
thrown in Main.php on line 6