草庐IT

converter-simplexml

全部标签

php - 比较 SimpleXml 对象

我正在尝试比较两个SimpleXML对象。一个是从数据库中获取的,另一个是从XMLAPI中获取的,但无论XML实际上是否相同,结果始终为假。我做错了什么?$objDbXml=simplexml_load_string($objReisen->xml);//XMLfromDB$objApiXml=simplexml_load_string(getXMlFromApi());//XMLfromApivar_dump($objDbXml->Reise->Z_LEISTUNGEN==$objApiXml->Reise->Z_LEISTUNGEN);//Resultisalwaysfalseva

php - 使用 simplexml_load_file() 加载压缩的 XML 文件

我正在尝试使用simplexml_load_file()PHP函数加载一个gzip压缩的XML文件,但我不知道如何解码它以便我可以使用其中的数据。 最佳答案 PHP有supportforzlibcompression内置,只需在文件的路径前加上gzip数据compress.zlib://就可以了:$xml=simplexml_load_file("compress.zlib://test.xml");像魅力一样工作。 关于php-使用simplexml_load_file()加载压缩的X

php - 如何使用 simplexml 处理无效的 unicode

Simplexml失败并显示以下错误消息:simplexml_load_file():fooo.xml:299108:parsererror:Char0xFFFEoutofallowedrange据我了解,投诉是关于无效的unicode字符。第299108行没有“FFFE”,但包含“EFBFBE”。在simplexml中有没有办法处理这种类型的错误? 最佳答案 我在处理传入的用户数据时经常遇到这个问题,我研究了很多方法来解决它。有一些方法可以将传入数据正确编码为UTF-8,而无需经常导致这些问题的高阶(或其他)unicode值。但是

PHP simplexml_load_file - 捕获文件错误

是否可以捕获simplexml文件错误?我连接到一个有时会失败的网络服务,如果系统返回一些http错误或类似的东西,我需要让系统跳过一个文件。 最佳答案 使用@很脏。如果你看手册,有一个选项参数:SimpleXMLElementsimplexml_load_file(string$filename[,string$class_name="SimpleXMLElement"[,int$options=0[,string$ns=""[,bool$is_prefix=false]]]])此处提供所有选项列表:http://www.php.

php - 在 simplexml_load_file 上设置超时

我有这个输出rss提要的脚本。我想要做的是让它尝试到达rssurl之类的5秒顶部,如果它不能那么我希望它加载服务器上的备份xml文档。这就是我所拥有的,但它不起作用:channel->itemas$item){echo'guid.'"alt="'.$item->title.'"target="_blank">',substr($item->title,0,62),'...',substr($item->pubDate,4,18),'';}}else{$xml=simplexml_load_file($url);foreach($xml->channel->itemas$item){ec

php - mb_convert_encoding() 不适用于 phpunit

出于某种原因,在phpunit中运行mb_convert_encoding时,我得到了意想不到的结果。例如执行以下操作:var_dump(mb_convert_encoding(utf8_decode('ö'),'UTF-8')==='ö')上面在PHP-FPM和PHP-CLI下返回bool(true),但是在PHPunit下返回false,mb_convert_encoding()正在做一些事情,它只是编码到一个乱七八糟的字符串。 最佳答案 我猜你正在使用一组不同的mbstringini设置。这是解决该问题的一种方法。首先,您可以

php - 用于使用 PHP 解析 xml 文件的 simpleXML 的替代方法

我只想知道是否有任何替代simpleXML的方法来使用PHP解析XML数据。例如,如果未加载simpleXML模块,或者即使存在比SimpleXML性能更好的库/类。 最佳答案 显然有atonofdifferentwaytoprocessXML作为PHP扩展和用户空间库。问题是它们都比SimpleXML复杂得多多,而且随机访问的速度无处不在。不过,我不确定您的问题的目的是什么。这些库/扩展都不共享通用API,因此如果您想在SimpleXML不可用时进行回退,那么您将不得不重复您的工作。但实际上,实际上没有理由禁用SimpleXML,

php - 如何使用 SimpleXML 在 PHP 中合并两个 XML 文档?

我有一个看起来像这样的数据库行。ID(int):123Name(string):SomeNameData(string):onetwo我需要按照以下方式将此数据格式化为XML。123SomeNameonetwo我目前正在使用SimpleXML来尝试构建它,但我不确定如何将现有XML插入到我正在尝试构建的新XML文档中。如果PHP附带了其他标准XML构建器,我也愿意使用它们。字符串连接不是可接受的答案。编辑:看起来SimpleXML不会做我需要的事情。我想在这一点上,我需要其他XML解析器的建议。 最佳答案 $xml=newSimpl

php - 检测 simpleXml 数组属性

我想我在这里遗漏了一些非常明显的东西,但是有人可以向我解释为什么我得到的是我现在的输出,而不是我在以下var转储中期望的输出:这是原始的xml:3Category19SubCat110SubCat211SubCat3我在做什么:$xml=newSimpleXMLElement($file);foreach($xml->categoryas$node){echo"dump1:";var_dump($node);echo"**********************************************dump2:";var_dump($node->subcategory);di

php - 扩展或实现 simplexml 以避免 DRY

请检查我为构建一些XML框架而创建的以下类..classCommandBuilder{publicfunction__construct(){//}publicfunctionlogin($username,$password){$frame=$this->frame();$command=$frame->addChild('command');$login=$command->addChild('login');$login->addChild('username',$username);$login->addChild('password',$password);$command-