我正在用PHP的XMLReader处理XML,我需要保留空白字符,包括我正在解析的数据中的回车。但是,读卡器正在用换行符替换回车符。有没有办法指示它不要那样做?
XMLReader
将自动将'r'n'
规范化为'n
。尽管您希望保留这些,但它实际上是XML规范(2.11行尾处理)所要求的。
您可以通过随后用'r'n
替换'n
来解决这一问题。
str_replace("'n", "'r'n", $reader->value)
对于空白空间处理,XMLReader
不改变地传递空白空间,并且在WHITESPACE
和SIGNIFICANT_WHITESPACE
节点之间不同。
一般来说,由于您需要"保留空白字符,包括数据中的回车"XML不是处理数据的合适技术。
根据您的用例,您可以决定以某种方式对二进制数据进行编码,以便将其保存在XML中,例如使用base64_encode
。