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

PHP SimpleXML获取innerXML

刁文光
2023-03-14
问题内容

我需要获取以下XML内容的HTML内容answer

<qa>
 <question>Who are you?</question>
 <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa>

因此,我想获取字符串“谁,”。

如果我answer使用SimpleXMLElement,则可以调用asXML()以获取“ 谁, ”,但是如何获取内部XML没有元素本身包裹的元素的元素?

我更喜欢不涉及字符串函数的方法,但是如果那是唯一的方法,那就这样吧。


问题答案:

据我所知,没有内置的方法可以做到这一点。我建议尝试使用SimpleDOM,这是一个扩展了SimpleXMLElement的PHP类,它为大多数常见问题提供了便捷的方法。

include 'SimpleDOM.php';

$qa = simpledom_load_string(
    '<qa>
       <question>Who are you?</question>
       <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
    </qa>'
);
echo $qa->answer->innerXML();

否则,我会看到两种方法。首先是将您的代码转换SimpleXMLElementDOMNodethen循环,childNodes以构建XML。另一种方法是先调用asXML()然后使用字符串函数删除根节点。但是请注意,asXML()有时可能会返回标记,该标记实际上
调用它的节点 之外 ,例如XML Prolog或Processing Instructions。



 类似资料:
  • 我们使用nextjs/reactjs作为FE,并且我们有一个server.js文件,它允许我们在上传映像,但是由于某种原因,每当我们运行服务器时,都会出现错误 下面是我们在server.js上的代码 这些是我们package.json中包含的脚本 希望得到一些答案和建议。这些代码在本地运行,没有任何问题

  • 英文原文: http://emberjs.com/guides/getting-ember/index/ Ember构建 Ember的发布管理团队针对Ember和Ember Data维护了不同的发布方法。 频道 最新的Ember和Ember Data的 Release,Beta 和 Canary 构建可以在这里找到。每一个频道都提供了一个开发版、最小化版和生产版。更多关于不同频道的信息可以查看博客

  • 获取资讯列表 获取置顶资讯列表 获取资讯详情 获取一条资讯的相关资讯 获取资讯列表 GET /news 传入参数 名称 说明 limit 数据返回条数 默认为20 after 数据翻页标识 key 搜索关键字 cate_id 分类id recommend 推荐筛选 =1为筛选推荐资讯列表 id 需要按照 ID 获取的资讯 ID,多个使用半角 , 进行分割 Response Status: 200

  • 我刚到Angular 2还在学习,我正在尝试用get调用击一个URL,但get似乎不通过,即使在浏览器的网络中,我也找不到被调用的get URL。 程序将转到方法控制台,在get调用的上下记录日志,但不记录get调用的日志 我的服务方式

  • 我有一个使用redux的应用程序 我也曾在本地获取数据。 在我的反应组件中,我使用来获取数据。但我什么也没得到。 如何在我的组件中获取数据? 演示:https://codesandbox.io/s/nervous-rosalind-lp16j?file=/src/App.js:242-328

  • 我在生产环境中遇到以下错误 DEBUG org.apache.camel.processor.DefaultErrorHandler - exchangeId 的传递失败:ID-*-56874-1372457272212-0-1。传递尝试时:0 捕获:org.apache.camel.CamelExecutionException:在交换执行期间发生异常:Exchange DEBUG org.ap