簡體   English   中英

解析xml以獲取節點值並將其另存為php中的變量

[英]parse xml for node value and save it as variable in php

我試圖將<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>

任何幫助表示贊賞

使用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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM