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.