从 XML 子节点检索外部 XML
Retrieve OuterXML From XML Child Node
我需要为每个说话标签检索 OuterXML。
例如,我需要为 test.ssml 中的第一个发言标签检索此数据:
<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
所有曲目.mp3
bookmarks.dat
测试 1
测试 2
浏览器中的当前输出
期望的输出
您可以直接使用 SimpleXML 函数 asXML()
获得 XML 而不需要(据我所知) XMLReader
.. .
$xml=simplexml_load_file($fileName);
foreach($xml->speak as $child)
{
echo $child->asXML()."<br />";
}
我需要为每个说话标签检索 OuterXML。
例如,我需要为 test.ssml 中的第一个发言标签检索此数据:
<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
所有曲目.mp3 bookmarks.dat 测试 1 测试 2浏览器中的当前输出
期望的输出
您可以直接使用 SimpleXML 函数 asXML()
获得 XML 而不需要(据我所知) XMLReader
.. .
$xml=simplexml_load_file($fileName);
foreach($xml->speak as $child)
{
echo $child->asXML()."<br />";
}