解析节点值的xml并将其保存为php中的变量

解析节点值的xml并将其保存为php中的变量,php,xml,parsing,Php,Xml,Parsing,我试图将的值保存到php中的一个变量中,但遇到了问题。这里有很多例子,但似乎没有一个能帮助我只做一个值,这让我很困惑 <CONFIG application="SAM" version="3.4.2"> <Database> <Driver>MYSQL</Driver> <Host>testdomain.com</Host> <Port&

我试图将
的值保存到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>

MYSQL
testdomain.com
3306
SAMDB2
根
xxxxx

非常感谢您的帮助

使用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);

您正在尝试使用哪个XML库?SimpleXML通常是最容易开始的。这是真实有效的XML文档(以
开头)的一个组件吗?simplexml是我使用的东西,我只是省略了最上面一行
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"