草庐IT

c# - 无法使用 xmlns 值解析 XML

我收到一个XML文件,该文件在根节点上分配了一个xmlns命名空间:2017/01/01我不知道如何使用XPath检索日期元素,我试过了varroot=xDocument.Root;vardateElement=root.XPathSelectElement("/Message/Date");如果我从根xml中删除命名空间,那么我可以使用“/Message/Date”检索值。我试图将xmlns添加到XmlNamespaceManager,但出现此错误:Prefix"xmlns"isreservedforusebyXML.如何获取值? 最佳答案

xml - 在基于 XSL 的转换后删除空的 xmlns 元素

最近,我一直在使用一种使用XSL修改输入数据格式的数据转换工具。我最近beenhavingproblemswiththenamespaces,现在我遇到了一个新问题,由上一个问题的解决方案引起。正确的xmlns存储在父元素中,但是第一个子元素(唯一的第一级子节点)包含一个属性xmlns="".我发现了一些类似的问题,但问题/实现方法的不同足以阻止我直接应用更改。有谁知道如何阻止该属性应用于子数据?我想过沿着我之前走过的路走下去(通过序列化XML然后做字符串操作来修复它),但是所需的序列化功能只存在于xpath3中,而我使用的转换服务器最多只支持xpath2,遗憾的是我没有发言权:(我正

xml - Schematron 中的 XPath : How to determine if an xmlns attribute is present on a node

我正在尝试匹配缺少xmlns属性的特定元素的任何实例,但我无法通过语法获得匹配。我的xml如图所示:我想返回第一个节点,而不是第二个。如果我根据第二个节点上显示的style属性进行匹配,我可以简单地使用not(@style)但这不适用于not(@xmlns:m)。我试图通过搜索具有与URI匹配的值的任何属性来规避此问题,但同样,这适用于其他属性,但不适用于xmlns:m。使用XPath匹配/解析xmlns属性是否需要某种限制或语法怪癖? 最佳答案 Istheresomesortoflimitationorsyntaxquirktha

html - HTML,XMLNS, namespace ,XML

我在用nekohtml+dom4j解析html文档时遇到了一些问题。我发现我的xpath表达式不再工作了,因为最近在html源代码中添加了一个新的默认htmlxml名称空间。规格说明:前缀xmlns仅用于声明命名空间绑定并由绑定到命名空间名称的定义http://www.w3.org/2000/xmlns/它必须不申报。其他前缀必须未绑定到此命名空间名称,它不能被宣布为默认命名空间。元素名必须没有前缀xmlns。但在我的html文档中,最近(我猜)在html标记中添加了:xmlns=“http://www.w3.org/1999/xhtml”我找到了两个解决方案:1)删除命名空间:DOM

c# - 为什么 XDocument 无法从格式良好的 XML 文本中获取元素?

我试图从以下XML文本中获取Address元素的值,但它找不到它,除非我删除xmlns="http://www.foo.com"来自Root元素。但是,即使有它,XML也是有效的。这里有什么问题?因为我是从Web服务获取XML文本,所以我无法控制它,但如果不得已,我可以去掉xmlns部分作为最后的手段。MainStSWvardoc=XDocument.Parse(xmlTextAbove);varaddress=doc.Descendants().Where(o=>o.Name=="Address").FirstOrDefault();Console.WriteLine(address

xml - XSLTProcessor.transformToFragment( ) 在 Microsoft edge 上返回 null

我有以下代码行从两个文档转换XMLfragment,这段代码在Firefox和chrome中没有问题,但每当我在Edge中使用它时,它返回null(SchemaStylesheetObj是一个XSLTprocessor对象):xmlFragment=SchemaStylesheetObj.transformToFragment(xmldoc,ownerDocument);我的xmldoc和ownerDocument都有正确的textContents,下面是我用于转换的XSLT文件的一部分:....Processedwith2361Ev5.00stylesheetownerDocumen

xml - WCF 数组序列化

我正在使用一个以整数数组作为参数的WCFOperationContract。它正在使用basicHttpBinding。我注意到从使用VisualStudio“添加Web引用”生成的客户端生成的SOAP包括xmlns:100101102...etc这将增加具有大数组的序列化流的大小。有什么办法可以消除这个xmlns属性吗?对于WCF客户端,生成的SOAP看起来更像我所期望的:100101102...etc.. 最佳答案 不幸的是,这实际上是客户端代理的功能,而不是您的服务。在此示例中,您正在查看使用XML序列化与数据协定序列化的客户

xml - RESTFUL WCF 删除所有 xmlns

我将我的DataContracts命名空间设置为“”,这删除了一个命名空间,但我必须删除另一个:xmlns:i="http://www.w3.org/2001/XMLSchema-instance"如果没有其他方法,我如何在返回之前序列化我的类并破解命名空间?我必须这样做才能使用另一家公司的API。 最佳答案 除了丢弃WCF之外,您唯一的选择是更改您的服务契约(Contract)以返回一个流并自己进行XML序列化。您仍然可以使用数据协定序列化程序,转换为字符串并去除所有namespace,然后转换回流以返回,但这听起来很糟糕。如果您

java - JAXB 抑制 XSI 和 xmlns

我正在使用JAXB来编码一些常规对象。我得到这样的输出:CDevelopmentPerlDevelopmentJavaDevelopmentDatabaseDesignGrailsDevelopment我真的不想要xsi:type=和xmlns:xsi=出现在我的最终文档中,因为它不需要它。这可能吗?另外-我设置了一个@XmlElementWrapper(name="desiredskillslist")将标签放在employeeDesiredSkills周围,但如果可能的话,我宁愿没有根本没有标签-如果它只是名称列表,那就太好了。为什么我注释了ArrayList会这样出来?

xml - Web 浏览器是否处理 "xmlns"属性?

在W3schools上有一篇关于XMLNamespaces的文章状态:注意:命名空间URI不被解析器用来查找信息我有一个非常简单的XML文件:Hi!ClickMe!在Chrome或Firefox中打开此文件会显示一个HTML按钮(不在IE中)。这是否意味着某些浏览器处理XMLNS?这是浏览器为通用XHTMLnamespace提供的那些“额外/不错”功能之一吗?只是好奇! 最佳答案 首先要注意的是,您在依赖W3School获取信息之前应该小心——那里的很多信息都是伪造的,或者解释不当。关于您的具体问题:大多数现代浏览器都会考虑命名空间