Fluxo analisa o arquivo XML de 4 GB em PHP

Estou tentando e preciso de ajuda para fazer o seguinte:

Eu quero transmitir um arquivo XML grande (4 GB) com PHP. Eu não posso usar XML simples ou DOM porque eles carregam o arquivo inteiro na memória, então eu preciso de algo que possa transmitir o arquivo.

Como posso fazer isso em PHP?

O que estou tentando fazer é navegar por uma série de<doc> elementos. E escreva alguns de seus filhos para um novo arquivo xml.

O arquivo XML que estou tentando analisar tem esta aparência:

<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>

Eu estou tentando obter / copiar todos os filhos de cada<doc> elemento em um novo arquivo XML, exceto o<links> elemento e seus filhos.

Então eu quero que o novo arquivo XML se pareça com:

<doc>
    <title>Title of first doc is here</title>
    <url>URL is here</url>
    <abstract>Abstract is here...</abstract>
</doc>
<doc>
    <title>Title of second doc is here</title>
    <url>URL is here</url>
    <abstract>Abstract is here...</abstract>
</doc>

Eu apreciaria muito toda e qualquer ajuda emStreaming / análise de fluxo / fluxo lendo o arquivo XML original e, em seguida, escrevendo alguns de seus conteúdos para um novo arquivo XML no PHP.

questionAnswers(2)

yourAnswerToTheQuestion