首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DOMDocument::xinclude

(PHP 5, PHP 7)

DOMDocument :: xinclude - 在DOMDocument对象中替换XIncludes

描述

代码语言:javascript
复制
public int DOMDocument::xinclude ([ int $options ] )

此方法在DOMDocument对象中替换?XIncludes

注意

由于libxml2自动解析实体,如果包含的XML文件具有附加的DTD,则此方法会产生意外的结果。

参数

options

libxml参数。自PHP 5.1.0和Libxml 2.6.7开始提供。

返回值

返回文档中XIncludes的数量,如果某些处理失败或者如何没有替换返回FALSE,则返回-1 。

例子

示例#1 DOMDocument :: xinclude()示例

代码语言:javascript
复制
<?php

$xml?=?<<<EOD
<?xml?version="1.0"??>
<chapter?xmlns:xi="http://www.w3.org/2001/XInclude">
?<title>Books?of?the?other?guy..</title>
?<para>
??<xi:include?href="book.xml">
???<xi:fallback>
????<error>xinclude:?book.xml?not?found</error>
???</xi:fallback>
??</xi:include>
?</para>
</chapter>
EOD;

$dom?=?new?DOMDocument;

//?let's?have?a?nice?output
$dom->preserveWhiteSpace?=?false;
$dom->formatOutput?=?true;

//?load?the?XML?string?defined?above
$dom->loadXML($xml);

//?substitute?xincludes
$dom->xinclude();

echo?$dom->saveXML();

?>

上面的例子会输出类似于:

代码语言:javascript
复制
<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

← DOMDocument::validate

DOMDocumentFragment →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com