【发布时间】:2011-06-20 04:25:27
【问题描述】:
我有一个 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>
生成以下 XML:
<xml>
<Address>
<Recipient>John Doe</Recipient>
<Street></Street>
<age>43</age>
<dateborn>1970-03-27</dateborn>
</Address>
</xml>
我在 PHP 中搜索了一个能够执行此操作的解决方案,但只遇到了两种可能的解决方案,但没有成功。
使用 SDO_DAS_XML 。但是,这取决于 php_sdo.dll 的可用性,似乎没有真正适用于 Windows 的版本。
第二次尝试是查看 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(如上)。
非常感谢任何想法或解决方案:)
谢谢!
【问题讨论】:
-
我要澄清一下,我需要根据 XSD 规则(包括默认/固定值、属性等)将这个 XSD 生成为空 XML 的最简单形式