SimpleXMLElement在600dpi背景上返回null

时间:2016-11-23 12:31:32

标签: php xml svg simplexml dpi

我经历了很多类似的问题。我找不到问题的答案。

我有svg image。我尝试使用SimpleXMLElement从中获取内容。

    $svgimage =  path to svg image;
    $svgString=file_get_contents($svgimage) ;//returns image    

    $svg = new SimpleXMLElement( $svgString );//returns nothing

我一直使用300dpi图像作为svg image的背景。现在我将其更改为600dpi。之后$svg没有返回任何内容。我不知道为什么SimpleXMLElement不会&#39 ; t工作在600dpi。

  

错误记录
  警告:SimpleXMLElement :: __ construct():实体:第29行:解析器错误:AttValue长度太长

     

警告:SimpleXMLElement :: __ construct():
  的xlink:HREF ="数据:图像/ X-MS-BMP;的base64,Qk1mDokAAAAAADYAAAAoAAAAZQgAAHEFAAAB

     

警告:SimpleXMLElement :: __ construct():实体:第29行:解析器   错误:属性构造错误

     

警告:SimpleXMLElement :: __ construct():实体:第29行:解析器   错误:无法找到开始标记图像第20行的结尾

     

警告:SimpleXMLElement :: __ construct():实体:第709行:解析器   错误:内部错误:巨大的输入查找

     

警告:SimpleXMLElement :: __ construct():
  命名="订单ID"

Size of SVG is 12MB

任何形式的帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

最后我已经解决了这个问题。

simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE)

LIBXML_PARSEHUGE是它!我不知道怎么做,但我早些时候错过了。