jjzjj

SimpleXml

全部标签

php - 为什么我在这里得到一组 SimpleXMLElement 对象?

我有一些代码可以从外部源中提取HTML:$doc=newDOMDocument();@$doc->loadHTML($html);$xml=@simplexml_import_dom($doc);//justtomakexpathmoresimple$images=$xml->xpath('//img');$sources=array();然后,如果我使用此代码添加所有源:foreach($imagesas$i){array_push($sources,$i['src']);}echo"";print_r($sources);die();我得到这个结果:Array([0]=>Simpl

PHP simplexml_load_file - 错误处理

我正在从正在运行的外部服务器加载XML文件。但是,如果文件不存在或在加载文件时出现其他问题,我如何收到错误消息?这是我的代码:$xml=simplexml_load_file('http://api.example.com/2/image/'.$myhash.'.xml');另外,如果发生类似情况,我也想知道最佳做法是什么。我应该只显示一条错误消息,如“错误-请重新加载页面”,还是应该直接将用户重定向到“主页”或404页面?感谢您的提示。(我只在同一台服务器上找到文件的示例) 最佳答案 查看函数simplexml_load_file

php - 无法用冒号解析 xml 数据 (:) from response using getNamespaces()

我想阅读里面的任何内容以下xml中的标记-$xml='0.02......somemorethings...';我已将xml放入上面的变量中,然后使用SimpleXMLElement::getNamespaces如“Example#1Getdocumentnamespacesinuse”一节中给出的-//codecontinued$dom=newDOMDocument;//loadtheXMLstringdefinedabove$dom->loadXML($xml);var_dump($dom->getElementsByTagNameNS('http://api-url','*'))

php - SimpleXML/PHP - 无法访问对象

$tmp2='intervalname';$xml=simplexml_load_string($tmp2);echo$xml->RESPONSE->DATA->HEADER->COLUMN[0];上面不会输出任何东西,即使var_dump是成功的:object(SimpleXMLElement)#2(1){["RESPONSE"]=>object(SimpleXMLElement)#3(1){["DATA"]=>object(SimpleXMLElement)#4(1){["HEADER"]=>object(SimpleXMLElement)#5(1){["COLUMN"]=>arr

php - 使用 DOM 插入新行

我正在尝试将新节点插入到XML文档中。我使用simpleXML进行大部分解析,但对于这篇文章,我需要使用DOM。这是我用来添加的函数functionsimplexml_insert_after(SimpleXMLElement$sxe,SimpleXMLElement$insert,SimpleXMLElement$target){$target_dom=dom_import_simplexml($target);$target_dom->formatOutput=true;$target_dom->preserveWhiteSpace=false;$insert_dom=$targe

php - 使用 simplexml_load_file 加载文件

我很困惑为什么这不起作用但我可以回显test.xmlmovie[1]->plot;?> 最佳答案 simplexml_load_file和创建一个新的SimpleXML对象没有必要同时进行。simplexml_load_file已经将XML文件解释为对象。(请记住,它不接受XML字符串)$movies=simplexml_load_file('test.xml');或者,您可以直接将XML字符串加载到SimpleXML中对象。$movies=newSimpleXMLElement(file_get_contents('test.xm

php - 通过属性名称获取 XML 值

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicates:AttributeValueSelectioninSimpleXMLSimpleXML:SelectingElementsWhichHaveACertainAttributeValue我正在解析XML文档并寻找特定的ID。ID值在属性“pii”下的ArticleId元素中提供。原始XML:12676398S0020729202004460这里是整个文档供引用:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=12676

php - 如何设置simplexml_load_string PHP函数的输出编码

我正在用simplexml_load_string解析CP1250编码的字符串.所以,我在以开头的字符串中声明它.不幸的是,所有节点都是UTF8编码的simplexml_load_string输出。有没有办法,如何指定输出编码,或者我是否必须在使用输出时使用iconv? 最佳答案 你的问题对我来说不是很清楚,所以我尝试以我理解的方式回答它,很可能那时已经给出了答案。如果您加载一个CP1250/Windows-1250编码字符串,并且该字符串在XML声明中包含此编码信息,通常默认情况下simplexml已将其保留在输出中。所以通常你不

php - 使用 xmlns :xlink attribute in a node 创建 XML

我正在尝试添加生成这样的输出:我可以很好地生成所有内容,但无法添加xmlns:xlink属性。我得到的最接近的是:$this->xml=newSimpleXMLElement('');$mets->addAttribute("xlink:someName","blabla","http://www.w3.org/1999/xlink");$mets->addAttribute("xsi:schemaLocation","http://www.loc.gov/METS/http://www.loc.gov/standards/mets/mets.xsd","http://www.w3.o

php - 如何在运行 simplexml_load_file() 之前检查 XML 文件是否良好

我使用PHP的simplexml_load_file()函数调用一个API,该API会根据我发送的时间戳返回更改后的结果。因此API将仅返回self的时间戳以来发生变化的结果。我遇到的问题是,如果时间戳太快并且API没有返回结果,那么它不会返回正确的XML文件,而只会返回空白页。这会导致simplexml_load_file出现各种问题这是我可以运行的简单测试...$xml='http://api.rescuegroups.org/rest/?key=CZivWWGD&type=orgs&limit=300&updatedAfter=1361941202&startPage=1';$x