[英]PHP Dom XML Parsing on empty self closing tags
I'm using DOM to parse an xml file. 我正在使用DOM解析xml文件。 And I am having trouble catching an error that throws when the XML tag is empty and self closed.
而且,我很难捕捉到XML标记为空且自关闭时引发的错误。
eg. 例如。
<Title />
$xml=("http://www.example.com/xml-to-parse.xml");
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
$element = $xmlDoc->getElementsByTagName('Root');
for ($i=0; $i <= 10; $i++)
{
$id = $element->item($i)->getElementsByTagName('Title')
->item(0)->childNodes->item(0)->nodeValue;
The error I am getting is: 我得到的错误是:
Trying to get property of non-object
试图获取非对象的属性
空标记不会有任何子节点,因此最后一行中的第二个项目(0)不会返回有效对象,因此尝试通过nodeValue获取其值将抛出错误,因为没有合适的对象而无法工作。
The XML error you're receiving isn't due to the tag being self-closing; 您收到的XML错误不是由于标签是自动闭合的。 that's valid XML.
那是有效的XML。 It's likely due to not finding a tag named Title, or there not being 10 of them returned (which is a bad way to write it anyway, better to base the loop off of $x->length, which is a known value).
可能是由于找不到名为Title的标签,或者没有返回10个标签(无论如何,这是一种不好的写法,最好将循环基于$ x-> length,这是一个已知值)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.