草庐IT

php - 为什么我的 xml 无法通过 XSD 验证?

我在一台服务器上验证空值时遇到一些问题,但它适用于我的所有其他服务器。该问题出现在较新的PHP版本(5.3.8)上,但适用于稍旧的版本(5.2.4)。这里有几个孤立的失败元素:XML输入:XSD验证:错误:Error1824:Element'clbburnfuelbias':Thevalueisnotavalidvalueoftheatomictype'data-fuelbias'.Error1824:Element'clbburntimebias':Thevalueisnotavalidvalueoftheatomictype'data-timebias'.在运行5.2.4的不同服务

php - 如何使用 PHP CURL 强制 XML 响应

我正在测试一个成功访问我的帐户的XMLAPI,并且我收到了响应,但响应似乎是一个纯文本字符串,没有标签或任何东西,甚至没有名称/对值。我需要将响应捕获为XML,以便我可以使用XML标记来识别响应变量。我使用表单POST将数据从表单传送到CURL页面,该页面将POST解析为XML格式,然后使用CURL将其发送到API。API是基于XML的,我希望得到XML响应,但却收到了帮助!CURL请求/响应页面";$xml.="";foreach($_POSTas$key=>$val){$xml.="".$val."";}$xml.="user1234";$xml.="pass1234";$xml.

php - 没有数据库的轻型博客系统

这是一个一般的编程问题。制作一个可以处理图像、bbcode-ish样式和文本的轻型博客系统的最佳方法是什么?没有数据库后端?轻是指在极端情况下不超过50到100个帖子。应该使用什么语言?这些信息是否有任何首选的数据格式?安全性如何发挥作用?编辑:客户端没有数据库,在共享服务器上。无法改变这一点。因此,没有数据库。编辑2:有人提到了SQLCompact-除了将文件复制到服务器之外,它还需要什么吗?这里的关键是再次,事情不应该需要比FTP访问更多的权限。 最佳答案 如果你想自己做;将每个帖子存储为目录中的文件。然后对帖子进行排序和限制,

php - XPath 节点到字符串

如何选择以下节点的字符串内容:wordtestwordtest2morewords我已经尝试了一些东西//span/text()没有得到粗体标签//span/string(.)无效string(//span)只选择1个节点我在php中使用simple_xml,我认为唯一的其他选择是使用//span返回:Array([0]=>SimpleXMLElementObject([@attributes]=>Array([class]=>url)[b]=>test)[1]=>SimpleXMLElementObject([@attributes]=>Array([class]=>url)[b]=

php - 使用 PHP simpleXML 查找我知道名称但不知道其所在位置的节点

我需要在PHP中查询一个XML字符串,如果我知道我正在寻找的节点的名称,但我可能不一定知道节点的路径。我想我可以用xpath做到这一点,但我不知道如何设置一个相对路径来查看文档中的任何地方,有人能给我指出正确的方向吗。我目前正在尝试使用simpleXML来实现这一点,但如果有更好的方法,我很乐意听到。 最佳答案 不要使用正则表达式来解析XML!xpath中的descendant(双斜杠)运算符将在所有后代中搜索匹配项。$matches=$simplexmlelementobject->xpath('//nameOfElement')

php - 通过 php domdocument 解析器获取文档元素的子元素

好吧,这是一个非常常见的xml解析方法,获取子节点,但它对我来说不起作用......我无法从我的根元素中获取子节点数组,但当它们有子节点时我可以从任何其他节点获取它,这不是问题。每当我从这个文档元素中获取子节点时,我似乎只能获取第一个子节点。我需要从文档元素中获取所有第一级节点..$xdoc=createDOMDocument($file);$all_children=$xdoc->documentElement->childNodes;echocount($all_children);functioncreateDOMDocument($file){$xdoc=newDOMDocum

php - 如果 XML 文件为空,则捕获 PHP 错误

所以我从XML文件中获取一些信息,如下所示:$url="http://myurl.blah";$xml=simplexml_load_file($url);除了有时XML文件是空的并且我需要代码优雅地失败但我似乎无法弄清楚如何捕获PHP错误。我试过这个:if(isset(simplexml_load_file($url)));{$xml=simplexml_load_file($url);/*restofcodeusing$xml*/}else{echo"Noinfoavilable.";}但它不起作用。我猜你不能那样使用ISSET。有人知道如何捕获错误吗?

php - 无法在 PHPStorm 10.0.1 中为 artisan 制作命令行工具

当我尝试为artisan创建别名时收到此错误消息:[设置|工具|命令行工具支持]->添加->基于Symfony控制台的工具问题Failedtoparseoutputasxml:Erroronline4:Contentisnotallowedinprolog..命令C:\xampp\php\php.exeC:\xampp\htdocs\laratest\artisanlist--xml输出[Symfony\Component\Console\Exception\RuntimeException]The"--xml"optiondoesnotexist.好的,我知道这是什么问题,但我找不到

php - 通过 HTTP 发送大文件

我有一个PHP客户端,它通过HTTP请求XML文件(即通过URL加载XML文件)。到目前为止,XML文件的大小只有几KB。我可以预见的一个问题是XML的大小会变成几MB或Gb。我知道这是一个很大的问题,可能有无数种解决方案,但是您有什么想法可以将这些数据传输到客户端?谢谢! 最佳答案 根据您的用例,我肯定会建议先压缩数据。此外,您可能希望在开始下载之前对文件进行md5散列并进行比较(如果文件没有更改则无需更新),这将有助于第2点。另外,是否可以只发送一段XML而不是整个文件? 关于php

php - 使用 XMLWriter 跟踪 namespace 声明

我正在开发XML网络服务(使用PHP!),为了“正确”地做事,我想使用XMLWriter而不是仅仅连接字符串并希望获得最佳结果。我使用->startElementNS和->writeElementNS在任何地方使用XML命名空间。问题是,每次我使用这些函数时,都会写入一个新的命名空间声明。虽然这是正确的语法,但有点不必要。我想确保我的namespace声明仅在第一次用于文档上下文时写入。有没有一种简单的方法可以使用XMLWriter来解决这个问题,或者我是否坚持将其子类化并手动管理它。谢谢,埃弗特 最佳答案 您可以在文档中的所需位置