问题标签 [xsi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1168 浏览

c# - XML xsi:nil="true" 值已设置但返回 null

我已经给出了 XML 文档:

稍后在代码中,元素被更新为:

不,我尝试将元素反序列化为“元素”属性为空的对象。我究竟做错了什么?

这是我用来反序列化的 C# 代码:

0 投票
3 回答
1789 浏览

c# - XMLSerializer 在反序列化派生类型时警告未知节点/属性

我最近使用 XMLSerializer 注册了未知节点、元素和属性的事件处理程序,用于从类型层次结构中反序列化复杂类型。我这样做是因为我收到的一些 XML 来自第三方;我对可能会给我带来麻烦的数据格式更改感兴趣。

在 XML 中,XMLSerializer 生成它使用标准 XML 属性xsi:type="somederivedtypename"来识别由 XML 元素表示的实际派生类型。

我惊讶地发现,同一个序列化程序在反序列化时将它刚刚产生的相同属性视为未知。不过有趣的是,反序列化是正确且完整的(在我的实际程序中也有更复杂的类型和数据)。这意味着序列化程序在反序列化的早期阶段会正确评估类型信息。但是在后来的数据提取阶段,该属性显然被误认为是对象的真实数据部分,这当然是未知的。

在我的应用程序中,无端警告最终会弄乱一个不受欢迎的通用日志文件。在我看来,序列化程序应该读回它生成的 XML,而不会出现任何问题。我的问题:

  • 难道我做错了什么?
  • 有解决方法吗?

一个最小的例子在这里:

输出:

0 投票
1 回答
465 浏览

xml - XML 站点地图中是否需要 xsi 和模式部分?他们的意思是什么?

对于我网站的 XML 站点地图,我注意到不同的文章提出了不同的建议。

例如,在我的页面列表之前,一些文章建议以这种方式开始:

虽然其他文章仅使用以下内容进行了布局:

我是否需要包含第一个示例中的所有额外内容?

使用额外部件与不使用它们之间到底有什么区别?

0 投票
1 回答
147 浏览

xml - 带有 XSD 和 XSI 的 XML 文档上的 MarkLogic TDE

您好,我正在使用 MarkLogic 9.0,并且对 ML 和 XML 有初级经验。我已成功遵循MarkLogic SQL 指南,并希望在现实世界中使用它并从事务性 xml 文件中提取类型元素。但是在我创建的视图中返回一个空结果。我认为这与xsd和xsi有关。但正如我之前提到的,我处于初学者水平,我不知道如何解决这个问题。

以下文本描述了重现该问题的方案。

我将 3500 个 xml 文档加载到 SQLData(带有三重存储索引)我还创建了一个 SQLSchema 数据库,该数据库与指南中描述的 SQLData 数据库相关。所有 XML 文档都具有类似的结构,如下例所示:

使用这样的 URI(所有文档都具有相似的结构):

现在我创建了一个具有以下结构的模板:

我还将上下文更改为:

和/项目

它不会返回任何错误,所以我认为结果会很好

当我在 SQL 控制台中执行以下语句时,它返回一个空结果:

当我验证上面的模板时,它返回以下结果:

所以通过验证的错误是:

/tde:模板/tde:行/文本()

有谁知道我该如何解决这个问题?

0 投票
1 回答
454 浏览

xslt - XSLT 在与根元素具有相同命名空间声明的内部标记中缺少命名空间

我想像这样创建xml:

使用此模板:

但是我想要这个模板的结果不是我想要的结果,而是给了我一些不同的结果:

如您所见,在转换结果中,InnerDoc 元素缺少 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 命名空间的定义,有什么办法可以防止丢失这个命名空间?

0 投票
1 回答
5825 浏览

java - 如何通过相对路径引用本地 XSD 文件

这是关于如何配置 Eclipse 以使用 `ehcache`的后续内容,在如何正确引用本地 XML Schema 文件中有一个绝对路径示例?

由于该xsd文件不再被托管,我从档案中下载了一份副本。我已将该文件放在我的资源目录中,并希望xsi:schemaLocation从我的项目的相对路径中引用它。我们同时拥有 windows 和 mac 开发人员,因此像这样的绝对路径约定是file:///c:/project/foo行不通的。

相对路径的另一种替代方法是,如果有一种方法可以引用 windows 和 mac 的系统属性,那么我可以执行 2 个条目,例如file:///$HOME/workspace/foo.

我的 Mac 上的项目存在于~/workspace/foo$HOME 的 echo 中,它提供了我的主路径。

我的spring-cache.xml存在于./src/main/webapp/WEB-INF/spring/

我的ehcache-spring-1.2.xsd存在于./src/main/resources/

以下是我尝试过但没有成功的一些:

我似乎也有问题让它从绝对路径引用文件,所以也许有不同的方式来引用 mac 上的文件?例如以下不起作用:

0 投票
1 回答
923 浏览

php - 在 PHP 中使用 SoapClient 将缺少的 xmlns 属性添加到 SOAP-ENV:Envelope 标记

如何编辑<SOAP-ENV:Envelope />标签的 xmlns 属性?

我有一种情况,xmlns:xsi并且xmlns:xsd失踪了。我想知道如何重新添加它们?

例子:

但我需要它是这样的:

0 投票
2 回答
69 浏览

c# - Xml 列表序列化和节点类型名称

我在这里遇到了多个问题和答案,但没有针对我的情况。

我有一个类“实体”,其中包含多个从它延伸出来的类。我希望序列化能够命中列表并理解并使用每个项目的类型作为节点名称。

现在,我可以使用注释掉的内容(定义主类中的每个数组项并使用 [XmlArrayItem("Subclass1", typeof(subclass1)] 定义此类项的名称,但我想将所有定义保留在它们的子类中,我将有太多的子类来定义主实体类中的所有内容......有没有办法实现这一点?

我曾尝试将 [XmlType(TypeName="...")] 用于子类等等,但这不起作用。

在创建实体并将 Subclass1 和 Subclass2 添加到列表 'CausedBy' 类后序列化上述代码会产生以下结果:

我希望输出显示:

0 投票
1 回答
2302 浏览

xml - XSD - 如何声明 xsi:type

几年以来,我一直在我的模型中使用这种架构。

我有 3 个模型:

  • 作为主要模型的对象,
  • A 和 B 扩展对象模型并添加新元素。

对象.xsd:

A.xsd:

B.xsd:

我在示例中使用 xsi:type 来选择对象是 A 类型还是 B 类型。下面是与 A 关联的示例:

我的一些合作伙伴在他们的 ERP 中导入 XSD 模式来创建他们的类对象。但是,他们必须调整我提供的文件以正确导入它们并能够利用它们。

我想知道我是否正确使用了 xsi:type 。实际上,XSD 中没有对 xsi 命名空间 (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance") 的引用。xsi:type 引用也是一样,他们的ERP怎么知道要添加呢?

0 投票
1 回答
3258 浏览

c# - 使用多种类型反序列化 XML

我正在尝试反序列化某些相同名称标签具有不同 xsi 类型的 XML:

这很容易通过将 xml 反序列化到这个模型中来实现:

唯一不同的是 XML 中的类型:

字段文本值类型

字段日期值类型

如何让 C# 类使用类似的东西解释这两种类型

编辑:反序列化不序列化