Có tương đương PHP với JAXB không? Nó được chứng minh là rất hữu ích cho việc phát triển Java, và như một PHP mới, tôi muốn sử dụng cùng một khái niệm mà JAXB cung cấp trong một thế giới PHP.PHP JAXB Equivalent
Trả lời
Tôi cũng đang cố gắng tìm điều tương tự trước đây nhưng không thể. Vì vậy, tôi quyết định viết thư viện riêng của mình cho PHP 5.3, nó phản ánh các chú thích của JAXB để liên kết các đối tượng với XML.
Kiểm tra nó ra ở đây: https://github.com/lampjunkie/xml-hitch
Hy vọng rằng những người khác sẽ thấy hữu ích này.
tôi đang tìm kiếm một cái gì đó tương tự như JAXB nhưng đối với PHP,
PiXB dường như giống với JAXB, thực sự tôi đã không thử nó, nhưng nhìn vào ví dụ dường như hứa hẹn
Tôi đã viết một đơn giản và dựa trên các chú thích PAXB: https://github.com/ziollek/PAXB. Kiểm tra xem giải pháp này có đủ hay không.
lớp mẫu với các chú thích ràng buộc XML
/**
* @XmlElement(name="root")
*/
class SampleEntity {
/**
* @XmlElement(name="attribute-value", type="AttributeValueEntity")
*/
private $nestedEntity;
private $text;
/**
* @XmlElementWrapper(name="number-list")
*/
private $number = array();
public function __construct($number = array(), $nestedEntity = null, $text = "")
{
$this->number = $number;
$this->nestedEntity = $nestedEntity;
$this->text = $text;
}
}
class AttributeValueEntity {
/**
* @XmlAttribute
*/
private $attribute;
/**
* @XmlElement
*/
private $value;
/**
* @param string $attribute
* @param string $value
*/
public function __construct($attribute = "", $value = "")
{
$this->attribute = $attribute;
$this->value = $value;
}
/**
* @return string
*/
public function getAttribute()
{
return $this->attribute;
}
/**
* @return string
*/
public function getValue()
{
return $this->value;
}
}
Marshalling dụ:
$sampleEntity = new SampleEntity(
array(1,2,3),
new AttributeValueEntity('sample attribure', 'sample value'),
'Sample text'
);
echo PAXB\Setup::getMarshaller()->marshall($sampleEntity, true);
và đầu ra:
<?xml version="1.0"?>
<root>
<attribute-value attribute="sample attribure">
<value>sample value</value>
</attribute-value>
<text>Sample text</text>
<number-list>
<number>1</number>
<number>2</number>
<number>3</number>
</number-list>
</root>
unmarshalling
$xmlInput = '...'; //as above
/** @var SampleEntity $sampleEntity */
$sampleEntity = PAXB\Setup::getUnmarshaller()->unmarshall($xmlInput, 'SampleEntity');
Có một gói trình soạn thảo cho nó: saber/xml. Bạn có thể cài đặt nó với nhà soạn nhạc yêu cầu saber/xml. Có một trang chủ cho các hướng dẫn và ví dụ Xem http://sabre.io/xml/
Thật dễ sử dụng và có tính năng phong phú và được duy trì tích cực.
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/18781883) –
- 1. Có một ASP MVC Equivalent cho require_once() của PHP không?
- 2. .NET Equivalent of Snipping Tool
- 3. ASP.Net Ajax $ find() Jquery Equivalent
- 4. .NET Equivalent của InterruptedException (Java) là gì?
- 5. Toán tử phủ định hợp lý trong F #? (! -equivalent)
- 6. JAXB IllegalAnnotationExceptions
- 7. JAXB HashMap unmappable
- 8. JAXB Danh sách Choice
- 9. JAXB Bean Generation
- 10. JAXB generic @XmlValue
- 11. JAXB Marshalling and Polymorphism
- 12. JAXB constructor injection
- 13. Chú thích JAXB
- 14. JAXB trong Netbeans Module
- 15. Tương đương Jaxb trong C#
- 16. JAXB và lớp trừu tượng
- 17. JAXB: đa hình với Generics
- 18. JAXB unmarshalling với java Generics
- 19. JAXB xử lý chuỗi XML
- 20. Đối phó với JAXB Collections
- 21. Tương đương với .NET JAXB?
- 22. JAXB: 2 tội danh IllegalAnnotationExceptions
- 23. Tham gia SAAJ và JAXB
- 24. Scala: jaxb hoặc tương tự?
- 25. Bao gồm JAXB bằng Maven
- 26. In các số 0 đầu với toán tử đầu ra C++ (printf equivalent)?
- 27. Bố cục nào tôi nên sử dụng (css inline-block equivalent)
- 28. Dòng công việc của JAXB - Cách bạn chuyển sang sử dụng JAXB
- 29. JAXB Tag List tạo lớp bên
- 30. JAXB Marshalling Objects với trường java.lang.Object
JAXB thực hiện hai việc - tạo mã java từ XML Schema và ràng buộc thời gian chạy của XML đối với các đối tượng java. Bạn muốn cái nào? – skaffman
Thời gian chạy ràng buộc của XML-> Đối tượng. –