在PHP中将XSD模板转换为XML实例

Zoh*_*bin 11 php xml xsd

我有一个XSD文件,我需要从该XSD文件生成有效的示例XML.例如,给定以下XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Address">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Recipient" type="xs:string" default="John Doe" />
        <xs:element name="Street" type="xs:string" />
        <xs:element name="age" type="xs:integer"/>
        <xs:element name="dateborn" type="xs:date"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

生成以下XML:

<xml>
    <Address>
        <Recipient>John Doe</Recipient>
        <Street></Street>
        <age>43</age>
        <dateborn>1970-03-27</dateborn>
    </Address>
</xml>
Run Code Online (Sandbox Code Playgroud)

我已经在PHP中搜索了能够执行此操作的解决方案,但只是遇到了两种可能的解决方案但没有成功.

  1. 使用SDO_DAS_XML.但是,这取决于php_sdo.dll的可用性,似乎没有一个版本可以在Windows上实际运行.

  2. 第二次尝试是看github.com/moyarada/XSD-to-PHP或forums.devshed.com/php-development-5/xml-schema-binding-to-php-code-jaxb-equivalent-199799.html但是,这些目标是解析XSD并转换为PHP类,并且似乎不是将任何XSD转换为简单干净的XML(如上所述)的通用命令.

任何想法或解决方案都非常感谢:)

谢谢!

rah*_*286 0

我在 PHP 中没有找到任何内容,但我遇到了这个 - http://sourceforge.net/projects/camprocessor/

它使用 JAVA 语言,但作为开源软件,您可以尝试从给定的 XSD 中查找用于生成 XML 示例的确切 Java 类。之后,可以在 PHP 中实现同一类的逻辑。

可能听起来不切实际,但这是我可以得到的!:|