разобрать xml для значения узла и сохранить его как переменную в переполнении стека

Я пытаюсь сохранить ценность <Host></Host> в переменную в моем PHP и возникли проблемы. Здесь много примеров, но, похоже, ни один из них не помогает мне просто выполнить одно значение, и это сбивает меня с толку.

 <CONFIG application="SAM" version="3.4.2">
<Database>
<Driver>MYSQL</Driver>
<Host>testdomain.com</Host>
<Port>3306</Port>
<Database>SAMDB2</Database>
<Username>root</Username>
<Password>xxxxx</Password>
</Database>
</CONFIG>

любая помощь приветствуется

1

Решение

Такая проблема очень проста с SimpleXML:

$xml = <<<XML
<CONFIG application="SAM" version="3.4.2">
<Database>
<Driver>MYSQL</Driver>
<Host>testdomain.com</Host>
<Port>3306</Port>
<Database>SAMDB2</Database>
<Username>root</Username>
<Password>xxxxx</Password>
</Database>
</CONFIG>
XML;

# load the string into simpleXML
$sxe = simplexml_load_string($xml);
# echo the host:
echo "Host: " . $sxe->Database->Host . PHP_EOL;

# echo the driver, port no., and database:
echo "Driver: " . $sxe->Database->Driver
. "; Port: " . $sxe->Database->Port
. "; Database: " . $sxe->Database->Database . PHP_EOL;

# save the host as a object
$host = $sxe->Database->Host;
echo "\nhost object: ";
var_dump($host);

# save the host as a string
$host_str = (string)$sxe->Database->Host;
echo "\nhost string: ";
var_dump($host_str);

Выход:

Host: testdomain.com
Driver: MYSQL Port: 3306; Database: SAMDB2

host object: class SimpleXMLElement#3 (1) {
public ${0} =>
string(14) "testdomain.com"}

host string: string(14) "testdomain.com"
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]