问题标签 [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.
xquery - XQuery:奇怪的 xsi 属性被插入到我的 XQuery 输出中
下面是我得到的 XQuery 输出示例:
如您所见,在<Name>
and<Address>
标记中,添加了这些奇怪的 xmlns:xsi 标记。
有趣的是,如果我转到 xml 文件的顶部,然后删除:
词组
然后现在我的 XQuery XML 输出看起来像这样(这就是我想要的)
但是,当我在浏览器中查看我的 XML 时,它会给出错误并显示如下内容:
有谁知道如何在不破坏我的 XML/XSL 的情况下从我的 XQuery 输出中删除这些 xsi 标记?
c# - 在 XmlSerializer 的输出中交换 xsd 和 xsi
在这里,commentsString 中包含以下元素
是否有可能互换 xsi 和 xsd 属性并获取元素,如下所示
这会导致任何其他问题吗?
编辑:为什么我需要这样做?
我们正在将现有应用程序从 1.1 迁移到 3.0,代码中有一个 if 循环
检查 IxComment 的索引。这里串行器的o/p和条件在xsd和xsi的位置不同。所以我想知道我们是否可以指示序列化程序根据需要提供 o/p。
我这里还有一个问题,因为这是一个现有的应用程序,序列化器 O/P 是否与版本不同?
xml - 有什么区别和?
你知道这些标签在 XML/XSD 上是否有区别吗?
例如:
这些是等价的吗?
如果我有一个 XSD 元素:
这意味着默认情况下它是 xsi:nil="false"。这意味着它不会接受该元素的空值。
我的疑问是,它会接受这个吗?
这对 XSD 究竟意味着什么?
此致
c# - 如何生成具有属性的 xsi:nil 元素?
我有一个 WCF 客户端,它需要生成包含此 XML 片段的请求:
架构由服务器确定,不受我控制。生成的代理代码有一个包含(除其他外)属性nullFlavor
和typeCode
. 代理使用 XmlSerializer。
如何生成这样的片段?xsi:nil
仅当相应成员为空时,XmlSerializer 才会发出该属性。如果它为空,它就不能很好地具有将作为属性发出的属性!
顺便说一句,根据 XML Schema Instance 规范,该片段是合法的,该规范说 nil 元素不能包含任何子元素或内部文本,但可以包含属性。
xml - Xerces SAX 解析器忽略 xmlxs:xsi 属性作为元素的属性
使用 Xerces SAX 解析器,我尝试检索此 XML 文件的所有元素及其属性:
-------------- 开始解析 XML 文件 ---------------->
<?xml version="1.0" encoding="UTF-8"?>
<invoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="my.xsd">
<parties>
(...)
-------------- 结束要解析的 XML 文件 ---------------->
获取元素“发票”的属性时,Xerces++ 不会在元素“发票”的“属性”列表中插入“xmlns:xsi”属性。但是,属性“xsi:noNamespaceSchemaLocation”被插入到列表中。
为什么?从 XML 标准的角度来看,是否有特定的原因?有没有办法配置 Xerces++ SAX 解析器以便它也插入这个属性?(关于设置解析器属性的文档没有说明如何)。
谢谢你的帮助。
java - 删除前缀时 XPath 返回 null
我在 Eclipse 下的 Java 中使用 XPath。我正在编写一个肥皂网络服务,XML 使用前缀和命名空间,我想删除前缀并只保留命名空间,因为我更喜欢看起来更易读的 XML 文档。
当我从 XML 定义文件中删除前缀并尝试使用 XPath 查询 XML 时,我开始为 XML 中的每个节点获取 null!
我的问题是,如果我想使用 XPath,我必须使用前缀吗?不仅仅是命名空间就足够了吗?
这就是我的 XML 的开始方式,当我使用 XPath 查询它时,就像XPath.selectSingleNode()
我总是从 XPath 中为其中的每个节点接收到 null 一样。
java - JAXB 编组器将超类编组为根元素并使用 xsi:type
我正在尝试将一个子类编组为超类,并将 xsi:type 信息作为 XML Root 元素属性。
目前这就是我所拥有的(比如说..):
- XMLDOCUMENTTYPE 是 XMLINVOICETYPE 的超类
- 编组 XMLINVOICETYPE 会给我
<xmlInvoiceType>
- 将 XMLINVOICETYPE 实例转换为 XMLDOCUMENTTYPE 实例然后编组它仍然会给我
<xmlInvoiceType>
- 创建一个带有 JAXB 注释的包装器对象似乎可以解决问题,但现在我必须抓住第一个子节点
例如:
// 可以解决问题,但需要额外的根
我想得到如下:
知道怎么做吗?
xslt - 替换命名空间 - 具有命名空间的属性值的问题
我正在 XML 中从一个命名空间移动到另一个命名空间,并且我一直面临 xsi:type 类型化元素的属性的问题。我一直在使用下一个模板,它可以轻松地将具有一个命名空间的元素移动到另一个命名空间。
但我无法将属于给定名称空间的属性值更新为 xsi:type 属性。
在上面的示例中,我无法将“nsold:atype”更改为使用新名称空间的“ns3New:atype”。有什么办法可以调整这种值吗?
c# - xml 序列化 - 向非根元素添加名称空间
我在 C# 中工作,我正在尝试在根元素上进行 xml 序列化,我也需要在另一个元素上进行xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
序列化。xmlns:xsd="http://www.w3.org/2001/XMLSchema"
我需要它的原因是因为我将 xml 作为字符串获取,并且我只需要对<Header>
元素进行 xml 序列化。
marshalling - castor marshaller 抑制 xsi
我读了你写的一篇关于:
问题是我正在使用该方法,但结果没有改变。
我的代码是:
但我得到的仍然是xml 标记xmlns:xsi=..
的内部和内部。xsi:type=..
难道我做错了什么?我正在使用 castor xml 1.3.2。