我有时会收到错误"文字节点不能出现在这种状态下#34;在我的应用程序中,在MonoDevelop中编辑xml并使用dotNET加载它。 这个错误真的很烦人,因为我必须将XML文件复制到Windows并尝试用VS修复它。
xml文件绝对正确,必须是带编码的东西。 在MonoDevelop中有没有快速解决方法?
当然,出现此错误会很有趣。
<?xml version="1.0" encoding="UTF-8"?>
<Data>
</Data>
答案 0 :(得分:3)
我试图重现这个问题,我发现(考虑到我的人工复制),我所要做的就是编辑xaml的第一行
<?xml version="1.0" encoding="UTF-8"?>
似乎,当编码发生变化时,文件中的<?xml
节点之前只有一个空格。我使用TextWrangler打开文件并查看空间。只需在Xamarin Studio中编辑文件即可解决问题。在进一步调查中,看起来文件的标题中有2个BOM。
fe ff fe ff
我很想听听是否有人可以确定编码是如何改变的。
答案 1 :(得分:1)
我在仅使用monodevelop时发现此错误只有一种解决方法(还有其他方法可以通过使用其他编辑器来解决此问题):
使用其他编码(UTF-16)保存文件。这不会永久解决它,如果再次编辑文件,它可能会再次出现。
答案 2 :(得分:1)
我认为问题是字节顺序标记显示为前2个字节,而不期望字节顺序标记的解析器会将其解释为短文本节点。没有BOM的重新编码应该修复它。