解析节点值的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"