0

当我从浏览器运行我的 WCF REST 方法时,我收到 一个:在浏览器中返回 WCF REST 服务时的 xml 元素前面?任何人都见过这个并知道它为什么会发生?我期待格式化的元素

<?xml version="1.0"?>
<GetProductNameListResponse xmlns="TheBigContract">
<GetProductNameListResult xmlns:i="http://www.w3.org/2001/XMLSchemaintance" xmlns:a="http://schemas.datacontract.org/2004/07/ProductDTO">

<a:Product>
<a:Company i:nil="true"/>
<a:DayOfWeek i:nil="true"/>
<a:Location i:nil="true"/>
<a:TimeOfDay i:nil="true"/>
<a:TruckID>0</a:TruckID>
<a:TruckName>BBQ Smith</a:TruckName>
<a:Website>test</a:Website>
</a:Product>

<a:Product>
<a:Company i:nil="true"/>
<a:DayOfWeek i:nil="true"/>
<a:Location i:nil="true"/>
<a:TimeOfDay i:nil="true"/>
<a:TruckID>0</a:TruckID>
<a:TruckName>Bon Me</a:TruckName>
<a:Website>test</a:Website>
</a:Product>

那仍然是有效的 XML。您的内部元素是在http://schemas.datacontract.org/2004/07/ProductDTO名称空间中定义的,这就是有效 XML 如何使用同一 XML 文档中多个名称空间中的元素的方式。你看到xmlns:a=...GetProductNameListResult吗?这定义了该名称空间的前缀(别名)。只有来自单个名称空间的元素可以没有前缀(称为默认名称空间)。

编辑:名称空间定义容器,其中元素和属性名称必须是唯一的。但是,如果它们来自不同的名称空间,您可以在同一个 XML 文档中拥有多个具有相同名称的元素类型。它与 .NET 名称空间的概念类似。

4

1 回答 1

0

那仍然是有效的 XML。您的内部元素是在http://schemas.datacontract.org/2004/07/ProductDTO名称空间中定义的,这就是有效 XML 如何使用同一 XML 文档中多个名称空间中的元素的方式。你看到xmlns:a=...GetProductNameListResult吗?这定义了该名称空间的前缀(别名)。只有来自单个名称空间的元素可以没有前缀(称为默认名称空间)。

编辑:名称空间定义容器,其中元素和属性名称必须是唯一的。但是,如果它们来自不同的名称空间,您可以在同一个 XML 文档中拥有多个具有相同名称的元素类型。它与 .NET 名称空间的概念类似。

于 2012-04-05T15:59:56.090 回答