我需要为每个语音标签检索OuterXML。
例如,我需要为test.ssml中的第一个tag标记检索这些数据:
<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>index.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>";
}test.ssml
all tracks.mp3 bookmarks.dat Test 1 Test 2 浏览器中的当前输出

期望输出

发布于 2020-09-28 11:04:34
您可以直接使用SimpleXML函数asXML()获取XML,并且不需要(据我所知)XMLReader.
$xml=simplexml_load_file($fileName);
foreach($xml->speak as $child)
{
echo $child->asXML()."<br />";
}https://stackoverflow.com/questions/64100737
复制相似问题