在尝试解析输入XML文档并生成输出XML文档后,我不断获得仅包含字符串“ÿþ>”的输出文件。创建输出文档时没有任何错误,DOM.parseError显示错误号0(我想象没有错误)。这个字符串是什么,它来自哪里?
答案 0 :(得分:1)
您获得的三个字节是Byte Order Mark (BOM)。您可以通过将文件保存为ANSI格式来删除BOM,如pre-previous answer to your question related on this topic。
所示如果您无法保存为ANSI,因为您的XML包含会丢失的字符,请检查您打开文件的方式。您似乎正在将磁盘中的内容读入字符串,然后将其作为XML加载。尝试将其从磁盘直接加载到XML中。 VBA Output to file using UTF-16的StackOverflow答案可能也会有所帮助。
顺便说一句:如果您正在谈论的宏是
Set Entity = DOM.DocumentElement.getElementsByTagName("EntityId")(0)
然后还要检查外壳:您的XML使用entityId
,但您的宏使用EntityId
。