Esiste un equivalente PHP in JAXB? Si è rivelato molto utile per lo sviluppo di Java e, come nuovo PHP, mi piacerebbe utilizzare gli stessi concetti offerti da JAXB in un mondo PHP.PHP Equivalente JAXB
risposta
ero anche cercando di trovare la stessa cosa prima, ma non ci riuscì. Così ho deciso di scrivere la mia libreria per PHP 5.3 che rispecchia le annotazioni di JAXB per legare oggetti a XML.
Check it out qui: https://github.com/lampjunkie/xml-hitch
Speriamo che gli altri troveranno questo utile.
ero alla ricerca di qualcosa di simile a JAXB, ma per PHP,
PiXB sembra simile a JAXB, in realtà non ho provato, ma guardando gli esempi sembra promettente
ho scritto un semplice e in base alle annotazioni PAXB: https://github.com/ziollek/PAXB. Controlla se questa soluzione è sufficiente.
classi campioni con XML annotazioni vincolanti
/**
* @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;
}
}
esempio Marshalling:
$sampleEntity = new SampleEntity(
array(1,2,3),
new AttributeValueEntity('sample attribure', 'sample value'),
'Sample text'
);
echo PAXB\Setup::getMarshaller()->marshall($sampleEntity, true);
e l'uscita:
<?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>
deserializzazione
$xmlInput = '...'; //as above
/** @var SampleEntity $sampleEntity */
$sampleEntity = PAXB\Setup::getUnmarshaller()->unmarshall($xmlInput, 'SampleEntity');
C'è un pacchetto di compositore per esso: sabre/xml. È possibile installarlo con il compositore richiede sabre/xml. C'è una home page per tutorial ed esempi Vedi http://sabre.io/xml/
E 'facile da usare e ricco di funzionalità e attivamente mantenuto.
Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/18781883) –
- 1. Equivalente Jaxb in C#
- 2. Equivalente JAXB .NET?
- 3. JAXB per PHP (PAXB?)
- 4. Autotest equivalente per PHP?
- 5. Ruby equivalente a $ $ di PHP
- 6. C# equivalente all'array associativo php
- 7. equivalente shell di php preg_match?
- 8. MySQL IFNULL equivalente per php
- 9. C# String.Format() Equivalente in PHP?
- 10. Javascript equivalente di php mktime
- 11. equivalente JavaScript per PHP preg_replace
- 12. Python equivalente a "php -s"
- 13. Java equivalente a PHP morire
- 14. Elenco PHP() equivalente in Python
- 15. Equivalente C equivalente a "Variabili variabili" di PHP
- 16. ASP.Net equivalente di file_get_contents di PHP ('php: // input');
- 17. PHP - Equivalente per Python PDB (Debugger) in PHP?
- 18. Perl equivalente di escapeshellarg di PHP
- 19. Equivalente di $ _ENV ['APACHE_RUN_USER'] in PHP-CLI
- 20. equivalente PHP di send e getattr?
- 21. date_create_from_format equivalente per PHP 5.2 (o inferiore)
- 22. cos'è Python equivalente a PHP $ _SERVER?
- 23. Java equivalente al preg_replace_callback di PHP
- 24. Esiste un PHP equivalente a Compass?
- 25. equivalente PHP per un decoratore python?
- 26. java equivalente di php HMAC-SHA1
- 27. PHP equivalente al metodo C# string.IsNullOrEmpty?
- 28. C# .NET equivalente a tempo PHP()
- 29. Equivalente HashSet di Java in PHP
- 30. Equivalente PHP della pagina principale in ASP.NET
JAXB fa due cose: la generazione di codice java da schema XML e l'associazione runtime di XML agli oggetti java. Quale vuoi? – skaffman
Runtime binding of XML-> Object. –