当前位置: 首页 > 面试题库 >

使用SimpleXML从头开始创建XML对象

夏骞尧
2023-03-14
问题内容

是否可以使用PHP的SimpleXML函数从头开始创建XML对象?浏览功能列表,可以通过一种方法将现有的XML字符串导入到一个对象中,然后可以对其进行操作,但是如果我只是想从头开始以编程方式生成XML对象,什么是最好的方法?

我发现您可以使用simplexml_load_string()并传入所需的根字符串,然后您就可以通过添加子代来操纵对象……尽管这看起来有点像hack,因为我必须实际上,在可以加载之前,将一些XML硬编码到字符串中。

我已经使用DOMDocument函数完成了它,尽管这有点令人困惑,因为我不确定DOM与创建纯XML文档有什么关系……所以也许它的名字很糟糕:-)


问题答案:

你当然可以。例如。

<?php
$newsXML = new SimpleXMLElement("<news></news>");
$newsXML->addAttribute('newsPagePrefix', 'value goes here');
$newsIntro = $newsXML->addChild('content');
$newsIntro->addAttribute('type', 'latest');
Header('Content-type: text/xml');
echo $newsXML->asXML();
?>

输出量

<?xml version="1.0"?>
<news newsPagePrefix="value goes here">
    <content type="latest"/>
</news>

玩得开心。



 类似资料:
  • 我正在尝试为用户单击按钮时打开的覆盖对话框创建自己的实现。您在下面看到的代码工作得很好,但不是那么漂亮。我正在寻找一个实现,在这个实现中,我不必为我创建的每个对话框创建一个线程。有没有办法做到这一点? 我一直在浏览各种Java源文件,如和,以弄清楚它们做了什么来阻止线程,直到用户关闭对话框,但我没有设法理解它。此外,我尝试了各种代码片段,包括,例如或。 这是它的样子(请注意:覆盖对话框本身不是窗口

  • 问题内容: 如何使用下面的代码解组XML字符串并将其映射到下面的JAXB对象? 问题答案: 要传递XML内容,您需要将内容包装在中,然后将其解组:

  • 问题内容: 如何使用simpleXML在xml文件中编辑值? 我知道如何创建文件,但不知道如何编辑现有文件中的值? 问题答案: 确保可以使用SimpleXML进行编辑: 看一下例子。

  • 在完成安装步骤以后,就可以准备创建Swarm。首先要确定Docker Engine 已经在所有的主机上已经运行起来。 打开终端通过ssh进入到manager节点,即进入本教程称之为manager1的宿主机。如果你使用Docker Machine,你可以通过如下命令进入宿主机manager1: $ docker-machine ssh manager1 执行如下命令创建一个新的Swarm: dock

  • 主要内容:什么是 PHP SimpleXML?,安装,PHP SimpleXML 实例,实例 1,实例 2,实例 3,更多 PHP SimpleXML 的信息PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理。 什么是 PHP SimpleXML? SimpleXML 是 PHP 5 中的新特性。 SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。 与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XM

  • 我是一个xml和XSL的新手,使用遗留平台... 我正在寻找一个从XPath创建xml的解决方案。碰巧看到这篇文章如何从一组XPath表达式生成XML文件?帮了我大忙。 与“comments”一节中讨论的请求类似,我试图将整个XSLT作为字符串传递,并使用Saxon作为sting back接收结果。接收结果为字符串,没有问题。但是当将XSL作为字符串传递时,它会抱怨“document()”,它是