2010-05-26 65 views
1

被序列化.NET對象生成以下XML:.NET開發的XML序列化 - XSD定義爲多個命名空間

<?xml version="1.0" encoding="utf-8"?> 
<Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://EPS.WebServices/WebServiceSchema" > 
    <Method xmlns="http://EPS.Library/RequestSchema">PackPlacementUpdate</Method> 
    <Type xmlns="http://EPS.Library/RequestSchema">PackPlacementUpdate</Type> 
</Request> 

我使用的XSD生成模式。但是,(我認爲)是因爲有多個命名空間會生成兩個不同的模式文件。我們將在外部提供XSD文件,我擔心兩個文件會引起混淆。

不改變.Net類的名稱空間,是否有一種方法可以創建單個XSD模式文件而不是兩個?

謝謝。

回答

0

不!

模式聲明一個targetNamespace;每個模式在一個名稱空間中定義元素和屬性。

此外,.xsd(XML架構定義文件)和XML架構之間存在一對一映射關係。您不能在.xsd文件中定義多個模式。因此,如果您擁有屬於多個名稱空間的元素,並且想要在W3C XML Schema中定義這些元素,則需要多個.xsd文件。