我有以下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文件(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 ×2
xml ×2
large-data ×1
large-files ×1
parsing ×1
simplexml ×1
xml-parsing ×1
xmlreader ×1