2012-01-09 34 views
8

Tôi đang cố nhập từng câu chuyện vào một đối tượng. Mỗi đối tượng sẽ có nhiều chuỗi (bắt đầu và kết thúc) cùng với các mảng được tạo ra từ nội dung trong nội dung bổ sung. Một ví dụ nhỏ sẽ là:Tải XML XML vào đối tượng

<feed> 
    <story> 
    <run> 
     <start>1/1/2012</start> 
     <end>3/1/2012</end> 
    </run> 
    <additional-content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
    </additional-content> 
</story> 
... 
</feed> 

Tôi tất cả xml được nhập vào chuỗi. Ngoài ra, tôi đang cố gắng làm điều này mà không cần thư viện. Tôi hiểu lặp qua từng câu chuyện nhưng không chắc chắn cách tải nội dung vào đối tượng trong khi cũng tạo mảng chính xác. Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

Không có thư viện? Hoặc chỉ thư viện của bên thứ ba? –

Trả lời

14

simplexml tải xml vào một đối tượng và bạn sẽ có thể làm việc với chính xác như bạn đang yêu cầu.

$xml = simplexml_load_string($stories); 
+0

Word-up! Bây giờ điều đó thực sự đang sử dụng XML. IMHO, thật ngớ ngẩn khi băm nhỏ XML thành các kiểu dữ liệu tự nhiên, đặc biệt nếu bạn chỉ thực hiện thao tác chuỗi. Tạo các đối tượng hoạt động trên các đối tượng XML (các nút, tài liệu) là cách tốt hơn và linh hoạt hơn việc băm nhỏ XML. –

+0

có cách nào để đảo ngược điều này để tạo xml không? –

+0

'$ xml-> asXML();' sẽ trả về chuỗi xml; vì vậy bạn có thể sửa đổi XML bằng cách sử dụng bất kỳ [các phương thức này] (http://www.php.net/manual/en/book.simplexml.php), sau đó khi bạn cần lưu trữ hoặc hiển thị xml: 'echo $ xml -> asXML(); 'sẽ lặp lại xml. –

Các vấn đề liên quan