Zaj*_*aje 6 php xml parsing simplexml domdocument
哪个是在PHP中解析XML文件的最佳方法?
首先
使用DOM对象
//code
$dom = new DOMDocument();
$dom->load("xml.xml");
$root = $dom->getElementsByTagName("tag");
foreach($root as $tag)
{
$subChild = $root->getElementsByTagName("child");
// extract values and loop again if needed
}
Run Code Online (Sandbox Code Playgroud)
第二步
使用simplexml_load方法
// code
$xml = simplexml_load_string("xml.xml");
$root = $xml->root;
foreach($root as $tag)
{
$subChild = $tag->child;
// extract values and loop again if needed
}
Run Code Online (Sandbox Code Playgroud)
注意:这是我所知道的两个.如果有更多填写.
想知道哪种方法最适合解析大型XML文件,哪种方法最快,无论方法需要实现的方式如何
大小将从500KB到2MB不等.解析器应该能够在最短的时间内解析小文件和大文件,并尽可能使用良好的内存.
我已经开始使用 XMLReader 来解析 XML 文件。经过一番谷歌搜索后,发现解析 XML 文件的最佳方式是,因为它不会将整个 XML 文件加载到内存中。假设我的 XML 文件有 5 MB,而使用 XMLReader 解析它时,我的 5 MB 内存不会被浪费。
//usage
$xml = new XMLReader();
$xml->XML($xmlString);
while($xml->read)
{
if($xml->localName == 'Something') // check if tag name equals something
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
使用 XML Reader,我们可以查找当前标签是开始标签还是结束标签,并根据需要执行需要的操作。