将多个XSD组合到一个文件中

时间:2015-07-24 11:09:04

标签: c# .net xml xsd dataset

我有一个XSD文件,其中包含4个xsd:schema个元素,这些元素是相关的并互相使用。我试图用ReadXmlSchema方法将该模式绑定到数据集中,但我遇到了这个错误:

  

有多个根元素

原因是一个文件中有4个xsd:schema。我无法将它们组合或拆分。

你有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  

原因是一个文件中有4个xsd:schema。我无法结合或   分开他们。

你可以而且你必须分开它们。 XSD本身必须是well-formed XML文档,格式良好的XML文档只能有一个根元素。

创建一个使用<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="FirstEE" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <non-jta-data-source>FirstEE</non-jta-data-source> <!-- <exclude-unlisted-classes>false</exclude-unlisted-classes> --> <class>com.jason.Entity.User</class> <class>com.jason.ManagedBean.Login</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/yash" /> <property name="javax.persistence.jdbc.user" value="root" /> <property name="javax.persistence.jdbc.password" value="root" /> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> <property name="eclipselink.logging.level" value="FINEST" /> <property name="eclipselink.ddl-generation" value="create-tables" /> </properties> </persistence-unit> </persistence> xs:include引入其他XSD的主XSD。阅读有关差异的更多信息here。示例如下......

使用XSD的示例包括

xs:import

使用XSD导入的示例

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:include schemaLocation="1.xsd"/>
  <xs:include schemaLocation="2.xsd"/>
  <!-- ... -->
</xs:schema>