相关疑难解决方法(0)

如何在PHP中使用XMLReader?

我有以下XML文件,文件相当大,我无法让simplexml打开并读取文件所以我正在尝试XMLReader没有成功的PHP

<?xml version="1.0" encoding="ISO-8859-1"?>
<products>
    <last_updated>2009-11-30 13:52:40</last_updated>
    <product>
        <element_1>foo</element_1>
        <element_2>foo</element_2>
        <element_3>foo</element_3>
        <element_4>foo</element_4>
    </product>
    <product>
        <element_1>bar</element_1>
        <element_2>bar</element_2>
        <element_3>bar</element_3>
        <element_4>bar</element_4>
    </product>
</products>
Run Code Online (Sandbox Code Playgroud)

遗憾的是,我没有为PHP找到一个很好的教程,我很想知道如何将每个元素内容存储在数据库中.

php xml parsing xmlreader simplexml

74
推荐指数
4
解决办法
12万
查看次数

流在PHP中解析4 GB XML文件

我正在尝试并需要一些帮助,执行以下操作:

我想流式解析PHP的大型XML文件(4 GB).我不能使用简单的XML或DOM,因为它们将整个文件加载到内存中,所以我需要一些可以传输文件的东西.

我怎么能用PHP做到这一点?

我想要做的是浏览一系列<doc>元素.并将他们的一些孩子写入一个新的xml文件.

我试图解析的XML文件如下所示:

<feed>
    <doc>
        <title>Title of first doc is here</title>
        <url>URL is here</url>
        <abstract>Abstract is here...</abstract>
        <links>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
       </link>
    </doc>
    <doc>
        <title>Title of second doc is here</title>
        <url>URL is here</url>
        <abstract>Abstract is here...</abstract>
        <links>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
            <sublink>Link is here</sublink>
       </link>
    </doc>
</feed>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将每个<doc>元素的所有子元素复制到一个新的XML文件中,除了<links>元素及其子元素.

所以我希望新的XML文件看起来像:

<doc>
    <title>Title …
Run Code Online (Sandbox Code Playgroud)

php xml large-files large-data xml-parsing

5
推荐指数
1
解决办法
5277
查看次数