【问题标题】:how to convert a parsed data into an xml format如何将解析后的数据转换成xml格式
【发布时间】:2015-08-15 04:26:52
【问题描述】:

我想使用“simple html dom parser”使用以下代码解析 HTML 内容(网站):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Parsing</title>
</head>
<body>
    <h1>Démonstration parsing </h1>
    <?php
    require_once 'simple_html_dom.php';
    $html = new simple_html_dom();
    $html->load_file('http://grafikart.fr/blog/');
    // echo $html->find('img',0)->getAttribute('src');
    /*foreach ($html->find('img') as $img) {
        echo $img->src . '<br/>';
    }*/
 foreach ($html->find('.posts') as $post){
     echo 'ARTICLE : '.$post->find('posts-short>p',0)->plaintext.'<br/>';
     echo 'Image de l\'article: '.$post->find('img',0)->src.'<br/>';         
 }
    ?>

</body>
</html>

一切正常,但我想将解析后的数据转换为 xml 格式。有人有想法吗? 谢谢!

【问题讨论】:

  • 使用 SimpleXML 不是更容易吗?
  • 我很困惑,您是否尝试将正在解析的内容转换为 XML?您可以自己构建 XML,因为您已经在循环浏览 HTML 文件中的帖子
  • 没错,我想把我正在解析的内容转换成 XML 或 JSON

标签: php html html-parsing


【解决方案1】:

您可以使用SimpleXML

这是一个简单的例子:

<?php

    $test_array = array (
      'bla' => 'blub',
      'foo' => 'bar',
      'another_array' => array (
        'stack' => 'overflow',
      ),
    );

    $xml = new SimpleXMLElement('<root/>');
    array_walk_recursive($test_array, array ($xml, 'addChild'));
    print $xml->asXML();
?>

结果

*<?xml version="1.0"?>
<root>
  <blub>bla</blub>
  <bar>foo</bar>
  <overflow>stack</overflow>
</root>*

这里是使用 Simple HTML DOMSimpleXML 的 (1,2) 示例。

【讨论】:

  • 但是我想解析html内容,然后我想将结果导出到XML文件中,Simple XML允许这样做吗?
  • 你可以将simple_html_dom的结果解析成一个数组。结帐此example。然后您可以使用SimpleXML 将数组转换为 XML,如上所示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多