首页 > 后端开发 > php教程 > 如何使用 SimpleXML 访问连字符的 XML 节点?

如何使用 SimpleXML 访问连字符的 XML 节点?

Barbara Streisand
发布: 2024-12-29 07:33:11
原创
802 人浏览过

How to Access Hyphenated XML Nodes Using SimpleXML?

使用 SimpleXML 读取带有连字符名称的 XML 节点

使用 SimpleXML 读取带有连字符名称的 XML 节点可能很棘手。本机 SimpleXML 库期望节点专门以命名空间的冒号为前缀(并转换为全大写字母),并将其视为当前加载的 XML 根元素的子元素。

例如,要访问 document-meta 节点:

<?xml version="1.0" encoding="UTF-8"?>
<gnm:Workbook xmlns:gnm="http://www.gnumeric.org/v10.dtd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gnumeric.org/v9.xsd">
<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" office:version="1.1">
<dc:creator>Mark Baker</dc:creator>
<dc:date>2010-09-01T22:49:33Z</dc:date>
<meta:creation-date>2010-09-01T22:48:39Z</meta:creation-date>
<meta:editing-cycles>4</meta:editing-cycles>
<meta:editing-duration>PT00H04M20S</meta:editing-duration>
<meta:generator>OpenOffice.org/3.1$Win32 OpenOffice.org_project/310m11$Build-9399</meta:generator>
</office:meta>
</office:document-meta>
</gnm:Workbook>
登录后复制
而不是使用$xml->children($namespacesMeta['office']), 使用:

$officeXML = $xml->children($namespacesMeta['office'])->{’document-meta’};
登录后复制
这将相应地访问文档元节点及其子节点。

请注意,这只适用于访问带连字符的 XML 元素。对于属性节点,可以使用 @attributes 数组表示法正常访问它们。

有关使用 SimpleXML 访问 XML 中具有特殊名称的元素的更多说明,请参阅以下文档:

[SimpleXML 基础知识](https://www.php.net/manual/en/simplexml.intro-example.php)

以上是如何使用 SimpleXML 访问连字符的 XML 节点?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板