我在应用程序中遇到了 xml 字符串问题。
我的 xml 字符串不断收到无效的 Char value 11 错误。
但是当我在 notepad++ 中打开文件时,我注意到 unicode 字符显示为 VT block 或垂直制表符,您可以使用 alt+011 代码重新创建它们。
我已经在这里看了一点,但我看到的唯一答案是在字符串上使用它:
preg_replace ('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $string);
但这已经发生在我的代码中,所以我现在不知道该做什么。 我还将这些代码添加到上面的正则表达式模式中:\x{0B}\x{000B}\x{2B7F}\x{011}\x{0011} ,这是我在 notepad++ 中查找 VT block 时发现的。
在对我的应用程序的先前版本(使用相同的方式构建 XML 文件)进行进一步调查后,我发现它在该版本中运行得非常好。
感谢任何帮助。
最佳答案
我解决了这个问题,我们首先使用 DOmDocument,因为它破坏了我添加了新的十六进制代码来查找。但是当我删除这些额外的代码并使用 SimpleXml 时,它工作得很好。
关于php - SimpleXmlElement PCDATA 无效的字符值 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50378273/