函数名:DOMNode::C14NFile()
适用版本:PHP 5, PHP 7
函数说明:DOMNode::C14NFile() 方法将当前节点(以及其所有子节点)序列化为一个规范化的XML字符串,并将其保存到指定的文件中。
用法:bool DOMNode::C14NFile( string $uri [, bool $exclusive] [, bool $with_comments] [, array $xpath] )
参数:
- $uri:指定保存规范化XML字符串的文件URI。
- $exclusive(可选):指定是否要排除节点的命名空间,默认值为 false。如果设置为 true,则在规范化XML字符串中不会包含节点的命名空间。
- $with_comments(可选):指定是否要包含注释节点,默认值为 false。如果设置为 true,则在规范化XML字符串中会包含注释节点。
- $xpath(可选):一个包含 XPath 表达式的数组,用于选择要包含在规范化XML字符串中的节点。默认为 null,表示包括所有节点。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建一个新的 DOMDocument 对象
$dom = new DOMDocument();
// 加载 XML 文件
$dom->load('example.xml');
// 获取要规范化的节点
$node = $dom->getElementsByTagName('book')->item(0);
// 调用 C14NFile() 方法将节点序列化并保存到文件
$success = $node->C14NFile('output.xml');
if ($success) {
echo "节点已成功规范化并保存到 output.xml 文件!";
} else {
echo "规范化节点失败!";
}
在上面的示例中,我们创建了一个 DOMDocument 对象并加载了一个 XML 文件。然后,我们使用 getElementsByTagName() 方法获取第一个名为 "book" 的节点,并将其传递给 C14NFile() 方法进行规范化。该方法会将节点及其子节点序列化为规范化的 XML 字符串,并保存到指定的文件 "output.xml" 中。最后,我们根据 C14NFile() 方法的返回值判断规范化是否成功,并输出相应的提示信息。