如何解析HTML/XML并从中提取信息?
您好我有一个xml格式的api响应,其中包含以下一系列项:
<item>
<title>blah balh</title>
<pubDate>Tue, 20 Oct 2009 </pubDate>
<media:file date="today" data="example text string"/>
</item>
Run Code Online (Sandbox Code Playgroud)
我想使用DOMDocument从标签"media:file"获取属性"data".我在下面的尝试不起作用:
$xmldoc = new DOMDocument();
$xmldoc->load('api response address');
foreach ($xmldoc->getElementsByTagName('item') as $feeditem) {
$nodes = $feeditem->getElementsByTagName('media:file');
$linkthumb = $nodes->item(0)->getAttribute('data');
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?请帮忙.
编辑:我不能因某些原因留下评论马克.我收到了错误
Call to a member function getAttribute() on a non-object
Run Code Online (Sandbox Code Playgroud)
当我运行我的代码.我也试过了
$nodes = $feeditem->getElementsByTagNameNS('uri','file');
$linkthumb = $nodes->item(0)->getAttribute('data');
Run Code Online (Sandbox Code Playgroud)
其中uri是与媒体名称空间(NS)相关的uri,但同样是同样的问题.
请注意,媒体元素的形式并不是我认为这是问题的一部分,因为我通常没有解析问题的问题.
我正在使用simplexml_load_file($path_xml_file),它运作良好!
如果我这样print_r($xml)打印:
SimpleXMLElement Object
(
[@attributes] => Array
(
[Message] => Login Successful
[Token] => 11111111111
[DataFormat] => CSV
)
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得"令牌"价值?
谢谢!
我试图从中获取一个 img url<content:encoded>并将该 url 插入到我的数据库中
但我似乎无法从 xml 文件中获得正确的信息-
还是无法使用 simpleXML 检索数据?
这是我的 XML
<item>
<title>Movietitle</title>
<content:encoded><![CDATA[<p>
<img class="aligncenter wp-image-22085" src="movie-poster-694x1024.jpg" alt="Predestination 2014" width="475" height="701" /></p>
<p><span id="more-22087"></span></p>
<p>
<a href="http://bit.ly/1za5mIz" target="_blank">
<h4 style="text-align: left;">Release Info:</h4>
Genre: Sci-Fi, Thriller<br />
Quality: DVDRip<br />
Language: English</p>]]>
</content:encoded>
</item>
Run Code Online (Sandbox Code Playgroud)
PHP
$feeds = array('http://xxxx.xml');
foreach( $feeds as $feed ) {
$xml = simplexml_load_file($feed);
foreach($xml->channel->item as $item) {
$video_title = $item->title;
$video_img=(string) $item->children($ns['content']);
$sql = "INSERT INTO video (video_title, video_img, video_date) VALUES (:video_title, …Run Code Online (Sandbox Code Playgroud)