繁体   English   中英

如何解决 PHP 警告:SimpleXMLElement::__construct(): Entity: line 4: parser error

[英]How to solve PHP Warning: SimpleXMLElement::__construct(): Entity: line 4: parser error

这是我第一次使用 php 解析 xml 文件的经验。 尝试打印结果时出现以下错误。

[02-May-2020 08:24:13 UTC] PHP 警告:SimpleXMLElement::__construct(): Entity: line 4: parser error: start tag expected, '<' not found in.../xml.php on第 62 行

<?php

$myXML = '<?xml version="1.0" encoding="UTF-8"?>
<ici-import xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://journals.site.com/ic-import.xsd">
  <journal issn="xxx-xxx"/>
  <issue number="2" volume="1" year="2019" publicationDate="2019-12-08T11:19:14Z" numberOfArticles="2">
    <article>
      <type>ORIGINAL_ARTICLE</type>
      <languageVersion language="en">
        <title>First Title</title>
        <abstract>test</abstract>
        <pdfFileUrl>http://test.com/download/40</pdfFileUrl>
        <publicationDate>2019-12-08T00:00:00Z</publicationDate>
        <pageFrom>17</pageFrom>
        <pageTo>37</pageTo>
        <doi/>
        <keywords>
          <keyword>test 1</keyword>
          <keyword>test 2</keyword>
        </keywords>
      </languageVersion>
      <authors>
        <author>
          <name>First</name>
          <surname>last</surname>
          <email>author@gmail.com</email>
          <order>1</order>
          <instituteAffiliation>World</instituteAffiliation>
          <role>AUTHOR</role>
        </author>
      </authors>
    </article>
    <article>
      <type>ORIGINAL_ARTICLE</type>
      <languageVersion language="en">
        <title>Second Title</title>
        <abstract>test</abstract>
        <pdfFileUrl>http://test.com/download/41</pdfFileUrl>
        <publicationDate>2019-12-08T00:00:00Z</publicationDate>
        <pageFrom>22</pageFrom>
        <pageTo>26</pageTo>
        <doi/>
        <keywords>
          <keyword>test 1</keyword>
          <keyword>test 2</keyword>
        </keywords>
      </languageVersion>
      <authors>
        <author>
          <name>First</name>
          <surname>last</surname>
          <email>author@gmail.com</email>
          <order>1</order>
          <instituteAffiliation>World</instituteAffiliation>
          <role>AUTHOR</role>
        </author>
      </authors>
    </article>
  </issue>
</ici-import>';
$xml=simplexml_load_string($myXML) or die("Error: Cannot create object");
$xmlElement = new SimpleXMLElement($xml);
print_r($xmlElement);

?>

您正在尝试从加载的 XML 数据中创建一个 XML 元素

$xmlElement = new SimpleXMLElement($xml);

当您到达这一行时, $xml已经是一个 SimpleXMLElement。

您可以使用simplexml_load_string()的结果来处理...

$xml=simplexml_load_string($myXML) or die("Error: Cannot create object");
echo $xml->asXML();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM