Tôi muốn tạo một trò chơi, sẽ sử dụng một hệ thống cấp. Vì vậy, tôi muốn lưu trữ các cấp của tôi và để có thể thay đổi chúng trong khi chơi game (để lưu trạng thái). Vì vậy, tôi quyết định sử dụng XML để lưu trữ các cấp. Tôi tìm thấy lớp NSXmlParser để đọc từ XML, nhưng tôi không thể tìm thấy một nhà văn để lưu trạng thái mức. Trong game của tôi trạng thái cấp và mức độ rất giống nhau (tôi có rất nhiều đối tượng di chuyển), vì vậy tôi không wan't để lưu trữ dữ liệu trạng thái cấp độ tách ra từ cấp nó thuộc về. Vấn đề là tôi không thể tìm thấy một cách để dễ dàng sửa đổi các tập tin XML trên iPhone. Có lẽ tôi đang sử dụng một cách tiếp cận xấu.Lớp trình soạn thảo XML iOS
Trả lời
Bạn có thể sử dụng C libary libxml2
để đọc và ghi XML. Dưới đây là phần giới thiệu nhanh: Cocoa Samurai: Getting Some XML Love with libXML2.
Tuy nhiên, bạn có cân nhắc sử dụng CoreData hoặc triển khai giao thức NSCoding
không? NSCoding
sẽ dễ dàng hơn để thêm vào các lớp hiện có.
Nếu bạn ném các dữ liệu trong một NSDictionary
, bạn có thể làm (với hãy cẩn thận):
[myDictionary writeToFile:pathToPlist atomically:YES];
Hãy thử mã nguồn mở XML stream writer for iOS:
- Được viết bằng Objective-C, một .h đơn . và tập tin .m
- Một @protocol hỗ trợ namespace và một cho mà không
Ví dụ:
// allocate serializer
XMLWriter* xmlWriter = [[XMLWriter alloc]init];
// start writing XML elements
[xmlWriter writeStartElement:@"Root"];
[xmlWriter writeCharacters:@"Text content for root element"];
[xmlWriter writeEndElement];
// get the resulting XML string
NSString* xml = [xmlWriter toString];
này tạo ra chuỗi XML sau:
<Root>Text content for root element</Root>
LGPL không phải là (theo ý kiến của tôi) là giấy phép tốt cho các dự án iOS. Nó có nghĩa là nếu tôi muốn sử dụng mã của bạn, tôi có nghĩa vụ phải phát hành ứng dụng của tôi dưới dạng liên kết lại (tức là tôi phải phát hành các tệp đối tượng, mà tôi có thể làm nhưng đó là một loạt các rắc rối thêm). Bạn đã cân nhắc sử dụng Giấy phép Công cộng Mozilla chưa? Nó bắt buộc mọi người phải giải phóng những thay đổi mà họ thực hiện đối với các tệp được cấp phép MPL, nhưng không yêu cầu các tệp đối tượng được phát hành. – JosephH
Càng ít rắc rối cho mọi người, thì càng tốt. Tôi đã thêm giấy phép GNU cho phép, vì nó không giống như bất kỳ thay đổi bên thứ ba nào sẽ được thực hiện cho thư viện vào bất kỳ ngày nào. – ThomasRS
tôi sẽ khuyên bạn sử dụng KissXML. Tác giả bắt đầu trong một tình huống tương tự như bạn và tạo một trình bao bọc API tương thích NSXML xung quanh libxml. Ông thảo luận về các tùy chọn và quyết định here trên blog của mình.
Ngoài ra, đây có thể là một bản sao của: http://stackoverflow.com/questions/3849270/iphone-how-to-write-xml-files/3973554#3973554 – codelark
- 1. Trình soạn thảo XML dựa trên web
- 2. Trình soạn thảo XML XML đơn giản và tốt?
- 3. Eclipse Android XML nhảy xung quanh trình soạn thảo
- 4. Trình soạn thảo XML tốt nhất cho Eclipse
- 5. SlickGrid chọn trình soạn thảo
- 6. Chương trình soạn thảo S3DB
- 7. Trình soạn thảo XSD Eclipse
- 8. Visual Studio 2010 - Trình soạn thảo C# cồng kềnh hơn trình soạn thảo VB.NET
- 9. Trình soạn thảo MVCĐối với bên trong Một trình soạn thảo khácCho
- 10. HTML + CSS + Trình soạn thảo Javascript
- 11. Trình soạn thảo SQL nhẹ cho Eclipse
- 12. Rails tốt 3 Trình soạn thảo WYSIWYG?
- 13. Trình soạn thảo MathJax thời gian thực
- 14. Trình soạn thảo HTML cho CBuilder/Delphi
- 15. Trình soạn thảo WYSIWYG nhỏ, tùy chỉnh
- 16. Trình soạn thảo tách trong nhật thực
- 17. Trình soạn thảo PHP cho Ubuntu
- 18. Cách tải trình soạn thảo ace
- 19. Trình soạn thảo văn bản cho hội
- 20. Trình soạn thảo HTML WYSIWYG Java
- 21. Soạn thảo chương trình C++ với gcc
- 22. Trình soạn thảo WADL trực quan
- 23. Trình soạn thảo CoffeeScript cho MacOS
- 24. Trình soạn thảo có chức năng Toán
- 25. Soạn thảo C++ khi hai lớp tham chiếu đến nhau
- 26. Trình soạn thảo văn bản XML nhẹ miễn phí để bao gồm với một ứng dụng
- 27. Eclipse Android Trình soạn thảo XML phổ biến không thể chuyển đổi giữa các chế độ
- 28. Eclipse - trình soạn thảo XML tốt nhất với tô màu cú pháp?
- 29. Phiên bản miễn phí của Trình soạn thảo Visual XML/XSD
- 30. Trình soạn thảo WSDL/XML mã nguồn mở tốt nhất cho Java
điều này là không sử dụng xml, phải không? – Andrew
@Andrew tệp kết quả sẽ là XML (cụ thể, ở định dạng Plist) –