首页博客网络编程
PHP DOM 库允许您在将脚本上传到新的 PHP DOMDocument 后管理 HTML 和 XML。解析是一个重要的概念,指的是将源代码更改为更易于阅读的格式。
对于读取和更改HTML和XML,DOM库是最好的选择,因为它是与某些PHP版本一起自动构建的。
名为 DOM 的 XML 数据解析器允许您在 PHP 代码中操作 XML 脚本。
DOM 是一个基于树的解析器(与基于事件的 XML 解析器相反)。
为了了解 DOM 如何查看 XML 数据,让我们分析以下代码示例:
例复制
<?xml version="1.0" encoding="UTF-8"?><from>Me</from>
如 DOM 所示,XML 数据具有树型结构:
XML 文档本身是级别 1。
根元素是级别 2。<from>
文本元素为 ,即级别 3。Me
以下属性可以帮助您查找有关 XML 文档的信息:
财产 | 描述 |
---|---|
实际编码 | 荒废的。它是一个只读属性,表示文档的编码。 |
配置 | 荒废的。当调用 DOMDocument::normalizeDocument() 时,此配置属性适用。 |
文档类型 | 表示与文档相关的文档类型声明。 |
文档元素 | 提供对文档中子节点的直接访问。 |
文档URI | 表示文档位置。如果未找到位置,则返回 NULL。 |
编码 | 表示由 XML 声明指示的文档编码。 |
格式输出 | 帮助使用必要的空格和缩进来组织输出。 |
实现 | 表示管理文档的 DOMImplementation 对象。 |
保留空白 | 指定不删除多余的空格。 |
恢复 | 专有。打开恢复模式。此属性不是来自 DOM 文档,而是来自 libxml。 |
解析外部 | 设置为 TRUE 时,此属性从文档类型声明加载外部实体。在 XML 文档中添加字符很方便。 |
独立 | 荒废的。指示文档是否独立。与 xmlStandalone 相同。 |
严格错误检查 | 检测到错误时显示 DOMException。 |
替代实体 | 专有。指示是否应替换实体。它不是 DOM 规范的一部分,并且是 libxml 独有的。 |
validateOnParse | 用于针对 DTD 进行加载和验证。 |
版本 | 荒废的。表示 XML 版本。与 xmlVersion 相同。 |
xml编码 | 指示 XML 文档的编码。找不到编码时的 NULL。 |
xml独立 | 指示 XML 文档是否独立。如果找不到此信息,则为 FALSE。 |
xml版本 | 指示 XML 文档的版本号。如果未找到声明,但文档支持 XML,则版本为 1.0。 |
在下面的示例中,我们将使用一个名为 note.xml 的 XML 文档:
例复制
<?xml version="1.0" encoding="UTF-8"?><note> <to>You</to> <from>Me</from> <heading>The Game</heading> <body>You lost it.</body></note>
这是初始化 XML 解析器所需的脚本。
例复制
<?php $xml_doc = new DOMDocument(); $xml_doc->load('node.xml'); print $xml_doc->saveXML();?>
下面是此代码示例的步骤:
我们创建一个新的 XML DOM 文档。
我们使用函数将 XML 数据加载到对象中。load
我们打印来自我们创建的 XML DOMDocument 的信息。
注意:通过使用名为saveXML()的函数,我们将内部XML数据放入数据字符串中。然后,它将准备好显示。
我们得到以下输出:
Me You The Game You lost it.
如果您尝试在浏览器中选择“查看源代码”,将显示一个 HTML 文本:
例复制
<?xml version="1.0" encoding="UTF-8"?><note> <to>You</to> <from>Me</from> <heading>The Game</heading> <body>You lost it.</body></note>
要初始化 PHP XML 解析器,访问数据然后迭代,您应该应用 foreach 循环:
例复制
<?php $xml_doc = new DOMDocument(); $xml_doc->load('note.xml'); $i = $xml_doc->documentElement; foreach ($i->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br>"; }?>
此代码示例遵循相同的步骤:它创建一个新的 XML DOM 文档,其中包含 note.xml 文件中的数据。然后,我们申请打印和.foreach
nodeName
nodeValue
这是我们在这种情况下得到的输出:
例复制
#text = from = Me#text = to = You#text = heading = The Game#text = body = You lost it#text =
注意:请注意,在我们的示例中还剩下一些空白。请记住,XML DOMDocument 可能会将这些元素作为元素并导致问题。
你应该学习创建PHP DOMDocuments来修改HTML脚本。下面的代码示例演示如何创建包含 HTML 的 PHP DOMDocument:
例复制
<?php$doc = new DOMDocument(); $doc->loadHTML("<html><body>Example<br></body></html>");echo $doc->saveHTML();?>
使用 DOM 库,您可以处理 XML 和 HTML 文档。
DOM 代表文档对象模型,属于基于树的 XML 解析器。
它的功能内置在PHP中。
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位