簡體   English   中英

如何用PHP讀取XML字符串

[英]How to read XML string with PHP

例如:

$xmlstr ='<Address><to>Sriniva</to><from>Chennai</from><country>India</county></Address>';

ReadXml($xmlstr) 

輸出 - >

地址

致:Srinivas

來自:Chennai

國家:印度

使用SimpleXML

$address = new SimpleXMLElement($xmlstr);
printf("%s\nto: %s\nfrom: %s\ncountry: %s",
       $address->getName(),
       $address->to, 
       $address->from, 
       $address->country);

要么

$address = new SimpleXMLElement($xmlstr);
echo $address->getName(), PHP_EOL;
foreach($address as $name => $part) {
    echo "$name: $part", PHP_EOL;
}

兩個輸出:

Address
to: Sriniva
from: Chennai
country: India

只需修復結束country代碼。 它有一個拼寫錯誤並且缺少r

<?php
$xml = simplexml_load_string("<Address>;
<to>Srinivas</to>
<from>Chennai</from>
<country>India</country>
</Address> ");



echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
  }
?>

輸出:

地址

致:Srinivas

來自:Chennai

國家:印度

您可以使用XML函數 ,但使用XSLT將是另一個不錯的選擇。

您可能還想查看PHP xpath

他們在示例中使用幾乎相同的代碼:)

你的Xml不是有效的,所以它不可能用php提供的xml工具來做。

您的xml字符串中有錯誤

國家標簽被錯誤關閉

對xml

$xmlstr ='<Address><to>Sriniva</to><from>Chennai</from><country>India</country></Address>';

要將XML更改為數組,您只需執行此操作即可

$address = simplexml_load_string($xmlstr, "SimpleXMLElement", LIBXML_NOCDATA);

    $address = json_encode($address);
    $address = json_decode($address, TRUE);

然后你可以訪問$ address as

echo $address["to"];

打印Sriniva

print_r($address)

版畫

Array
(
   [to] => Sriniva
   [from] => Chennai
   [country] => India
)

暫無
暫無

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

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