【问题标题】:How to parse xml in php? [duplicate]如何在php中解析xml? [复制]
【发布时间】:2015-12-04 15:37:09
【问题描述】:

我正在使用 Codeigniter 3,并尝试获取 xml 的值。我没有处理..

我试图用这段代码来获取价值。

        $dom = new DOMDocument();
        $dom->loadlXML($xml);
        $img = $dom->getElementsByTagName('sonucKodu')->item(0);
        echo $img->attributes->getNamedItem("value")->value;

我的 xml 文件。

<?xml version="1.0" encoding="UTF-8"?>
<SYSMessage xmlns:ext="http://nxxx/Cd/Extensions/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <messageType code="1" value="xxx" codeSystemGuid="0a9ba485-e7e0-4abb-9c86-0a14fd364bb8" version="1" />
   <documentGenerationTime value="201512041717" />
   <author>
      <healthcareProvider code="0" value="SYS" codeSystemGuid="c9dbe1cb-57cb-48fb-bdd3-d622e0e304c6" version="1" />
   </author>
   <recordData>
      <KayitCevabi>
         <sonucKodu value="E2003" />
         <sonucMesaji value="TakipNo geçerli değil" />
      </KayitCevabi>
   </recordData>
</SYSMessage>

我只需要属性sonucKodu 的值。必须是E2003

感谢您的帮助。

【问题讨论】:

  • 我检查过但我需要价值:)

标签: php xml codeigniter parsing


【解决方案1】:

我会使用 SimpleXMLElement 而不是 Domdocument。

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<SYSMessage xmlns:ext="http://nxxx/Cd/Extensions/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <messageType code="1" value="xxx" codeSystemGuid="0a9ba485-e7e0-4abb-9c86-0a14fd364bb8" version="1" />
   <documentGenerationTime value="201512041717" />
   <author>
      <healthcareProvider code="0" value="SYS" codeSystemGuid="c9dbe1cb-57cb-48fb-bdd3-d622e0e304c6" version="1" />
   </author>
   <recordData>
      <KayitCevabi>
         <sonucKodu value="E2003" />
         <sonucMesaji value="TakipNo geçerli değil" />
      </KayitCevabi>
   </recordData>
</SYSMessage>';
$s_xml = new SimpleXMLElement($xml);
//print_r($s_xml);
echo $s_xml->recordData->KayitCevabi->sonucKodu['value'];

输出:

E2003

演示:https://eval.in/480525

【讨论】:

  • 有效!非常感谢。
【解决方案2】:
<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>

【讨论】:

  • 我试过了,但我需要价值。
  • 在你的情况下使用 echo $xml->recordData->KayitCevabi->sonucKodu['value'];
猜你喜欢
  • 2023-03-08
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
相关资源
最近更新 更多