问题标签 [xmlexception]

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 投票
3 回答
13142 浏览

java - 带有“意外元素:CDATA”消息的 org.apache.xmlbeans.XmlException 是什么意思?

我正在尝试解析和加载 XML 文档,但是当我在扩展 XmlObject 的类上调用 parse 方法时出现此异常。不幸的是,它没有让我知道什么元素是意外的,这是我的问题。

我无法为此分享代码,但如有必要,我可以尝试提供更多信息。

0 投票
2 回答
6979 浏览

c# - '/' 字符十六进制值 0x2F 的 XmlException 不能包含在名称中

如何解决产生的异常?

这会生成此异常:

System.Xml.XmlException 未处理 消息=“/”字符,十六进制值 0x2F,不能包含在名称中。源=System.Xml

0 投票
2 回答
7564 浏览

exception - Exceptions with DateTime parsing in RSS feed in C#

I'm trying to parse Rss2, Atom feeds using SyndicationFeedFormatter and SyndicationFeed objects. But I'm getting XmlExceptions while parsing DateTime field like pubDate and/or lastBuildDate.

Wed, 24 Feb 2010 18:56:04 GMT+00:00 does not work

Wed, 24 Feb 2010 18:56:04 GMT works

So, it's throwing due to the timezone field.

As a workaround, for familiar feeds I would manually fix those DateTime nodes - by catching the XmlException, loading the Rss into an XmlDocument, fixing those nodes' value, creating a new XmlReader and then returning the formatter from this new XmlReader object (code not shown). But for this approach to work, I need to know beforehand which nodes cause exception.

rss feed: http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&q=test&cf=all&output=rss

exception detials:

XmlException Error in line 1 position 376. An error was encountered when parsing a DateTime value in the XML.
at System.ServiceModel.Syndication.Rss20FeedFormatter.DateFromString(String dateTimeString, XmlReader reader)
at System.ServiceModel.Syndication.Rss20FeedFormatter.ReadXml(XmlReader reader, SyndicationFeed result) at System.ServiceModel.Syndication.Rss20FeedFormatter.ReadFrom(XmlReader reader) at ... cs:line 171

Is there a better way to achieve this? Please help. Thanks.

0 投票
2 回答
543 浏览

c# - 在哪里可以找到 XmlException 可以包含的所有可能消息的列表?

我正在编写一个 XML 代码编辑器,我想在用户界面中显示语法错误。因为我的代码编辑器严格限制于特定的问题域和受众,所以我想重写某些 XMLException 消息以对用户更有意义。例如,这样的异常消息:

'"' 是一个意外的标记。预期的标记是 '='。第 30 行,第 35 位

.. 技术性很强,对我的听众来说信息量不大。相反,我想将它和其他消息重写为其他内容。为了完整起见,这意味着我需要建立一个映射到我想显示的新消息的现有消息字典。为了实现这一点,我需要一个 XMLException 可以包含的所有可能消息的列表。

某处有这样的清单吗?或者我可以通过检查 C# 中的对象找出可能的消息吗?


编辑:具体来说,我正在使用 XmlDocument.LoadXml 将字符串解析为 XmlDocument,当出现语法错误时,该方法会引发 XmlException。所以具体来说,我的问题是在哪里可以找到 XmlDocument.LoadXml 应用于 XmlException 的消息列表。关于 XmlException 的 Message 属性中实际字符串可能存在无限变化的讨论没有实际意义。

编辑2:更具体地说,我不是在寻求关于我是否应该尝试这个的建议;我只是在寻找任何线索来获取各种消息。本的回答是朝着正确方向迈出的一步。有谁知道另一种方式?

0 投票
3 回答
404 浏览

c# - 如果 XmlException.SourceUri 是只读的,那有什么好处?

我的代码中有几个地方抛出一个新的 System.Xml.XmlException 似乎是合适的。我可以做

但我认为最好尽可能利用特定于异常类的成员(否则你不妨Exception每次都抛出一个普通的 ol')。SourceUri 和 LineNumber 会有所帮助,但它们只有方法get,我无法为它们赋值!只有 3 个构造函数重载,并且它们都没有这些成员的参数;我只能初始化Message,没有别的。

必须有某种方法来用值填充这些数据成员,否则为什么 XmlException 会打扰它们呢?

我想我可以创建一个继承 XmlException 的新类并编写一个初始化 SourceUri 等的新构造函数,但仍然必须有一种方法来使用 XmlException。对?

0 投票
3 回答
3624 浏览

c# - 如何在 XML 标记中获取带有特殊字符的 XElement

我有一个要遍历的 XML 文档,它符合 SDMX。这是一个简短的示例:

但是,当我尝试在 C# 中使用 Linq to Xml 执行以下操作时,我得到一个 XmlException。

异常文本是: ':' 字符,十六进制值 0x3A,不能包含在名称中。

我无法控制 XML。关于如何克服这个问题的任何想法?

0 投票
1 回答
9813 浏览

c# - XmlReader ReadStartElement 导致 XmlException

我正在使用 Silverlight 项目中的 XmlReader 编写文件阅读器。但是,我遇到了一些错误(特别是在 XmlReader.ReadStartElement 方法周围),这让我相信我误解了如何在某个地方使用它。

基本上,这是我正在使用的 Xml 格式的示例:

下面是一些代码示例,其使用方式与我使用它的方式相同:

所以,本质上,我只是试图阅读每个元素和任何包含的子元素。我在突出显示的点得到的错误如下:

错误描述

[Xml_InvalidNodeType] 参数:无,10,8 调试资源字符串不可用。通常,关键和论据提供了足够的信息来诊断问题。请参阅http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.51204.0&File=System.Xml.dll&Key=Xml_InvalidNodeType

错误堆栈跟踪

在 System.Xml.XmlReader.ReadStartElement(字符串名称)在 ----------------

对此的任何建议或指导将不胜感激。

编辑 由于该阅读器需要相当通用,因此可以假设 Xml 可能包含作为 EmptyElement 的子元素的元素。因此,读取任何 SubEmptyElements 的尝试应该是有效的。

0 投票
3 回答
10753 浏览

c# - System.Xml.dll 中出现“System.Xml.XmlException”类型的第一次机会异常

当我启动我的应用程序(它是一个将 WCF 连接到服务的客户端)时,我在 Visual Studio 的输出窗口中看到许多行

System.Xml.dll 中出现“System.Xml.XmlException”类型的第一次机会异常

我已经打开了这个异常的抛出,并看到它发生在客户端调用 WCF 服务时。异常的消息是:

名称不得以“<”开头(德语:Ein Name darf nicht mit dem Zeichen '<', hexadezimaler Wert 0x3C, beginnen。)

我应该对此做些什么吗?或者这是正常的吗?这可能是性能问题吗?

谢谢你的帮助。

最好的问候,托马斯

0 投票
3 回答
3919 浏览

c# - 在稍微畸形的 XML 上使用 C# 的 XmlReader

我正在尝试在大量 XML 文件上使用 C# 的 XmlReader,除了少数选择的文件外,它们的格式都正确(不幸的是,我无法更改它们,因为它会破坏很多其他代码)。

这些错误仅来自这些冒犯性 XML 文件的一个特定部分,可以跳过它们,但我不想停止阅读 XML 文件的其余部分。

坏的部分是这样的:

所以真的,如果我可以忽略无效标签,或者忽略管道符号,那么我就可以了。

当我看到名称“ErrorsHere”时尝试使用 XmlReader.Skip() 不起作用,显然它已经提前读取了一点并引发了异常。

TLDR:如何跳过,以便可以使用 XmlReader 读取上面的 XML 文件?

编辑:

有些人建议只替换'|' - 符号,但 XmlReader 的想法是不加载整个文件,而只遍历你想要的部分,因为我直接从文件中读取我无法读取整个文件,替换'|' 的所有实例 然后再次阅读部分:)。

0 投票
2 回答
170 浏览

c# - 在 XmlException 中仅捕获字符编码问题

我正在使用 System.Xml 来解析 xml 文档。有时 xml 文档包含不可编码的字符,然后XmlException被抛出。在这些情况下,我想重新尝试使用强制编码解析文档,如下所示:

除了所有类型的 xml 问题(即使不是由字符编码问题引起的问题)都会引发 XmlException 之外,这工作得相当好。在这些情况下,我不想重试解析。那么有没有办法确定 XmlException 是由字符编码问题还是其他原因引起的?