![]() |
1
23
我不知道没有异常的验证方法,但是您可以将调试器设置更改为仅中断
要执行此操作,请转到调试/异常…/公共语言运行时异常并查找System.xml.xmlException,然后确保只勾选了“用户未处理”选项(未引发)。 |
![]() |
2
7
史提夫, 我们有一个第三方偶然地向我们发送了JSON而不是XML。以下是我实现的:
|
![]() |
3
5
这是一种合理的方法,除了isNullOrEmpty是多余的(loadXML可以很好地解决这个问题)。如果你真的保持是空的,那么就做如果(!string.isNullOrEmpty(value))。 不过,基本上,调试器是问题所在,而不是代码。 |
![]() |
4
4
添加
|
![]() |
5
2
使用注意事项
数字元素名称不是有效的XML,在我的示例中,在我尝试将xmldoc.innerText写入XML的SQL Server数据类型之前,没有发生错误。
这就是我现在验证的方式,并抛出异常
|
![]() |
6
1
还有另一篇我已经添加了要阅读的代码的msdn文章中的一个例子。 XML流的全部内容。
来源: http://bytes.com/topic/c-sharp/answers/261090-check-wellformedness-xml |
![]() |
7
0
我不同意问题在于调试器。一般来说,对于非特殊情况,应避免例外。这意味着如果有人在寻找
异常非常昂贵,在正常成功执行期间不应遇到异常。例如,编写一个方法来检查文件是否存在,并使用file.open,并在文件不存在的情况下捕获异常。这将是一个糟糕的实施。相反
|
![]() |
8
0
就我的2美分——关于这一点有各种各样的问题,大多数人都同意“垃圾进-垃圾出”的事实。我不同意这一点,但我个人发现了以下快速而肮脏的解决方案,尤其是在处理来自第三方的XML数据的情况下,这些数据根本不容易与您通信。它并没有避免使用try/catch——但它使用的粒度更细,因此在无效XML字符的数量不那么大的情况下,它会有所帮助。我为每个父元素使用了xmltextreader及其方法readchars(),这是不执行格式良好检查的命令之一,如readinner/outerxml。因此,当read()存根出现在父节点上时,它是read()和readchars()的组合。当然,这是因为我可以假定XML的基本结构是正常的,但是某些节点的内容(值)可以包含一些特殊字符,这些字符没有被&…;等效的替换…(我在某个地方找到了一篇关于这个的文章,但现在找不到源链接) |
![]() |
9
-2
我的两分钱。这很简单,遵循一些常见的约定,因为它是关于解析…
|
![]() |
max66 · 病态呼叫的零长度变量展开 7 年前 |