Comments (6)
I think CFPropertyList will not be able to read large files, because it is not a stream parser. Even if we parse the xml with stream based parser, the class will still store all the informations in memory, wich is impossible with large files.
A stream based CFPropertyList reader could be fine, but it's a lot of work !
from cfpropertylist.
Hey @jacobraccuia, it's not a bug and it's not really a server error either. Once you load a file into CFPropertyList, it will start creating object oriented entities for all objects. Unfortunately, there is no other option than storing them into memory. As I see it, you have two options: You either increase your memory limit, execution time limit and you limit the size of the file upload or you work directly in XML with XPath.
Hope this helps
from cfpropertylist.
Hi @lpotherat ,
I understood, CFPropertyList is not a stream parser, I have a headache problem too. My project plist files are very large.
I have a idea, is it possible to use another stream reader to read my plist file first. to read each repeating node, then pass the node xml text into CFPropertyList.
For example:
- use XMLReader to parse my plist file
- in the XMLReader reading loop, each time I capture a node I want, I pass it to create a new CFPropertyList object by loadXMLStream?
is it possible? anyway I will try it today.
from cfpropertylist.
Sorry for the late answer, do you have any news on your tests ? @jasper2virtual
from cfpropertylist.
Hi @lpotherat ,
Oh yes, I have tried it and create the pull request
#37
from cfpropertylist.
Please note that per #36 we're looking for someone to take over maintenance of this project. I have moved on from PHP and neither the time nor the desire to keep working on CFPropertyList.
from cfpropertylist.
Related Issues (20)
- CFPropertyList object is not serializable HOT 3
- Add documentation and more examples
- Assistance with example HOT 3
- Packagist package has the wrong name HOT 1
- CFPropertyList Problem HOT 14
- new CFNumber(0) = format error HOT 4
- TypeDetecting Dictionary fails HOT 1
- Maintainers Wanted HOT 12
- Information for project site HOT 1
- DevOps tasks
- HTML-Proofer found 2 failures
- Uncaught exception HOT 9
- How to disable base64 decoding? HOT 2
- Package does not auto-update on packagist HOT 2
- Output of toXML() for <real>s is locale-dependent and causes creation of invalid PList-XML HOT 4
- PHP 8.1 Compatibility HOT 23
- `CF$UID` cannot be squashed to integer HOT 2
- Can I directly use plist data in variables? HOT 1
- CFDictionary should not allow adding empty keys
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cfpropertylist.