这是一个有效的XML文件吗?

时间:2009-08-24 14:01:27

标签: c# .net xml visual-studio-2008

我需要将一些XML元素发送到其他一些服务,我想确保我的XML文件格式优雅,以便其他人可以使用他们的XML解析器来解析XML文件。

对于这类XML文件,它的格式是否优雅,违反了XML的任何规则?不确定&#x4是否是.Net / C#中的有效XML字符序列?

我很担心字符串是否以$#x开头都有效?如果不是所有这些都有效,有什么方法可以过滤掉它们吗?

我正在使用VSTS 2008 + C#+ .Net 3.5。

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x4;</Text>

3 个答案:

答案 0 :(得分:7)

没有。字符引用必须以分号终止。

更新:鉴于问题中的语法错误已得到纠正,请参阅http://www.w3.org/TR/xml/#dt-charref以获取可接受的值的说明。

坦率地说,除了“,&lt;,&gt;和&amp;之外,我坚持使用UTF-8。它使XML本身更具可读性。

答案 1 :(得分:5)

使用XML Validator。它显示以下错误:

错误:字符引用必须以';'结尾分隔符。

答案 2 :(得分:2)

正如其他人所建议的,缺少一个分号,并使用验证器。但请注意,即使输入格式在技术上没问题,并非所有字符都是合法的。

以下文档如果验证者失败:

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x4;</Text>

这个确实证实了:

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x32;</Text>

有关要使用或避免使用的字符的信息,请this seems interesting