Вытащить данные с xml

Как вывести переменную с xml `

<w:rPr>
                                <w:sz w:val="16"/>
                                <w:szCs w:val="16"/>
                            </w:rPr>
                            <w:t>{OrderTopic}</w:t>

`

Мне нужно вывести OrderTopic, пытаюсь так, но ничего не выходит

    if (file_exists( __DIR__ . "/shablon/word/document.xml")) {
   
    $xml = simplexml_load_file(__DIR__ . "/shablon/word/document.xml");
} else {
    
    exit('Файл document.xml не существует!');
}

foreach($xml->OrderTopic as $name){
    echo "Товар: ".$name->OrderTopic.".<br>";

}

Ответы (1 шт):

Автор решения: i.prikot

Регулярное выражение не подойдет?

$xmlstr = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<w:rPr>
    <w:sz w:val="16"/>
    <w:szCs w:val="16"/>
</w:rPr>
<w:t>{OrderTopic}</w:t>
XML;

if (preg_match_all('/<w:t[^>]*>\s*(.*?)\s*<\/w:t>/', $xmlstr, $matches)) {
    print_r($matches);
}

Result: Array ( [0] => Array ( [0] => {OrderTopic} ) [1] => Array ( [0] => {OrderTopic} ) )
→ Ссылка