0

当我生成我的 C# 代码时,我在定义 noNamespaceSchemaLocation 时得到一个带有“AA”的命名空间?

文档在这里谈论将 NamespaceAlias 添加到默认上下文: http ://www.liquid-technologies.com/Reference/XmlDataBinding/source/HowTo/ChangeNamespaceAliases.htm

但是没有提到noNamespaceSchemaLocation?

4

1 回答 1

1

我假设您正在尝试创建看起来有点像这样的 XML

<RootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.foo.com/schemaDirectory/bar.xsd" ...>

但是你得到的东西看起来像这样

<RootElement xmlns:AA="http://www.w3.org/2001/XMLSchema-instance" AA:noNamespaceSchemaLocation="http://www.foo.com/schemaDirectory/bar.xsd" ...>

为了获得命名空间别名“xsi”而不是“AA”(或类似名称),您需要定义命名空间“ http://www.w3.org/2001/XMLSchema-instance ”,可以这样完成: -

LiquidTechnologies.Runtime.Net40.XmlSerializationContext.Default.NamespaceAliases.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
于 2015-07-15T14:48:50.323 回答