php - 从 XML 子节点检索 OuterXML
问题描述
我需要为每个说话标签检索 OuterXML。
例如,我需要为 test.ssml 中的第一个 speak 标签检索这些数据:
<speak xmlns="https://www.w3.org/2001/10/synthesis" version="1.0" xml:lang="en-US">
<voice name="en-US-GuyNeural">
<prosody rate="0.00%">Test 1</prosody>
</voice>
</speak>
索引.php
set_time_limit(0);
require_once('src/Config.php');
$fileName = __DIR__.DIRECTORY_SEPARATOR.'test.ssml';
$fileContent = file_get_contents($fileName);
// $fileContent = preg_replace( "/\r|\n/", "", $fileContent );
$xml=simplexml_load_file($fileName);
$reader = new XMLReader();
foreach($xml->speak as $child)
{
echo $child->getName() . " ::: " . htmlspecialchars( $reader->readOuterXml ( $child ) ). "<br>";
}
测试.ssml
所有曲目.mp3 书签.dat 测试 1 测试 2浏览器中的当前输出
期望的输出
解决方案
您可以使用 SimpleXML 函数直接获取 XML,asXML()
并且不需要(据我所知)XMLReader
...
$xml=simplexml_load_file($fileName);
foreach($xml->speak as $child)
{
echo $child->asXML()."<br />";
}
推荐阅读
- xamarin.forms - 我可以通过鼠标单击 xamarin 表单中的 ScrollView 来禁用滚动吗?
- algorithm - Multiset Multisum Problem:形成两个子集所需的最小元素数,每个子集总和为 k 或更多
- node.js - 键入'IDatabaseDriver
' 不满足约束 'AbstractSqlDriver ' - python - 我制作的这些简单的python函数有错误吗?
- mongodb - MongoCompass 查询一个 GUID
- android - 如何使用回收器视图 Android 同步滚动选项卡布局?
- python - 似乎是缓存数据的问题
- webpack - 使用 ES 模块时的 require.context() 替代方案
- javascript - 如何在由 react 创建的 chrome-extension 中获取当前的 Tab URL
- javascript - 当我尝试使用过滤器 vue js 3 时出现白屏