问题标签 [xml-namespaces]
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.
xml - 帮我清理一些丑陋的 XML
我从需要处理的服务中获取此 XML。我对 XML Schema 或 Namespace 不太感兴趣,但对我来说它看起来很乱。有人可以看看它并告诉我如何使它更好吗?
我知道命名空间定义可以在第一行声明,而不是在每一行。还有什么可以清理的吗?
c# - 为什么 XElement 在解析带有 xmlns 的 xml 文件时会崩溃?
所以我试图解析一个xml文件:
使用以下代码:
除非我从 xml 文件中删除 xmlns="http://foo.co.uk/nan" ,否则不会将任何内容写入控制台,之后,我会得到一个属性名称和值的列表,正如我所期望的那样,并且我需要!
编辑:格式化。
php - PHP:检索 DOMElement 的所有声明的命名空间
我正在使用DOM 扩展来解析包含xml 命名空间的 xml 文件。我原以为命名空间声明就像任何其他属性一样被对待,但我的测试似乎不同意。我有一个这样开头的文件:
和这样的测试代码:
所以问题是:
- 有谁知道我在哪里可以找到的文档
DOMNameSpaceNode
?在php.net 上搜索不会产生任何有用的结果。 - 如何从该 DOMElement 中提取所有这些命名空间声明?
php - PHP Zend XML-RPC 客户端 - 使用 Zend_Crypt_Math_BigInteger 发出请求时出现“未知类型:i8”?
我正在使用 Zend 1.10 的 XML-RPC 客户端库向另一台服务器发出 XML-RPC 请求。我必须调用的方法之一使用i8
(又名ex:i8
)类型,即扩展大整数。Zend 支持这一点(参见http://framework.zend.com/apidoc/1.10/Zend_XmlRpc/Value/Zend_XmlRpc_Value_BigInteger.html)。但是,每当我尝试对其进行几次调用时,都会出现异常(我认为是在它联系服务器之前)。
通过getLastRequest()
在客户端对象上使用,我可以看到它要发送的 XML 是这样的:
看起来 Zend 没有将名称空间添加到 XML 中。我怎样才能解决这个问题?如何使用 // 参数进行 XML-RPCi8
方法ex:i8
调用BigInteger
?
prism - WPF XAML 命名空间导入
我发现为了在 XAML 中使用 PRISM 的类,您需要以这种方式导入命名空间: xmlns:cal="http://www.codeplex.com/CompositeWPF" 这种方式对我来说是新的,所以我想知道,超链接如何成为命名空间导入的常用符号的别名?所以智能知道它应该在哪个程序集中搜索这个组件?谢谢!
c# - 我需要 XmWriter 元素中的多个 xmlns 元素
我正在尝试将 xml 文档从一种格式转换为另一种格式,在执行此操作时,我发现我需要将多个 xmlns 声明插入到根元素中。
例子:
<?xml version="1.0" encoding="utf-8" ?>
<Template xmlns="http://tempuri.org/TemplateBase.xsd" xmlns:TYPES="http://tempuri.org/TemplateTypes.xsd ">
一些内容
<模板>
这一切的原因是我将 XSD 模式划分为多个 XSD,以便在这种情况下重用通用类型。
好吧,我现在想做的是用 XmlTextWriter 编写这个 xml,但我不能为 TYPES 编写 xmlns 属性。
到目前为止我尝试过的是:
当我执行此代码时,出现以下异常:
System.ArgumentException: Prefix "xmlns" is reserved for use by XML..
有没有人能治愈我目前的头痛?
xml - 在请求和响应之间有不同的 SOAP 命名空间/版本是否合法?
第三次编辑:我现在认为这个问题是由于伪装成命名空间问题的 SOAP 版本不匹配(1.1 请求,1.2 响应)。 混合版本是违法的,还是只是糟糕的风格?如果我不能更改我的 SOAP 版本或服务,我是否完全不走运?
第二次编辑:澄清错误信息,并试图减少“tl;dr”-ness。
编辑:[链接已删除,不相关]
使用soapUI,我发送的请求以:
并得到以以下开头的响应:
我知道该服务正在获取信息,因为下线的流程正在运行。但是,我的soapUI 测试步骤失败了。它有两个活动断言:“SOAP Response”和“Not SOAP Fault”。失败标记位于“SOAP 响应”旁边,并带有以下消息:
第 -1 行:元素信封@ http://www.w3.org/2003/05/soap-envelope不是有效的信封@ http://schemas.xmlsoap.org/soap/envelope/文档或有效替换。
我尝试混合和匹配命名空间前缀和架构 URL。更改前缀似乎没有效果;更改 URL 会导致VersionMismatch
错误。我也尝试过使用替换组,但这似乎不合法。
c# - 如何将 XPath 与没有前缀的默认命名空间一起使用?
什么是 XPath(在 C# API 到 XDocument.XPathSelectElements(xpath, nsman) 如果重要的话)从这个文档中查询所有 MyNodes?
- 我试过
/configuration/MyNode
这是错误的,因为它忽略了命名空间。 - 我试过
/configuration/lcmp:MyNode
这是错误的,因为lcmp
是 URI,而不是前缀。 - 我试过
/configuration/{lcmp}MyNode
失败了,因为Additional information: '/configuration/{lcmp}MyNode' has an invalid token.
编辑:我不能mgr.AddNamespace("df", "lcmp");
像一些回答者建议的那样使用。这要求 XML 解析程序提前知道我计划使用的所有名称空间。由于这适用于任何源文件,因此我不知道要为哪些命名空间手动添加前缀。看起来像是{my uri}
XPath 语法,但微软没有费心去实现它……真的吗?
xslt - SVG 的 XSL 转换将命名空间属性添加到新标签
我有一个 SVG 文件,我想通过向边缘和节点添加 onclick 处理程序来扩展它。我还想添加一个引用 JavaScript 的脚本标签。问题是脚本标签添加了一个空的命名空间属性。我还没有找到任何我理解的有关此的信息。为什么 XSLT 添加一个空的名称空间?
XSL 文件:
jquery - Document.createElementNS() 的 jQuery 是什么?
Document.createElementNS() 的 jQuery 是什么?
该代码是来自Emle - 电子数学实验室设备JavaScript 文件emle_lab.js的简化片段。
Look-Up-Functionluf()
将完整引用映射到 XPath 字符串中命名空间的缩短名称和createElementNS()
. 现有的svg:svg
被定位、移除和替换为一个新的矩形。