XML标记名称中的无效字符

问题描述 投票:0回答:1

我们有一个庞大的数据库,用户可以在其中创建自定义字段。名称中允许使用每个UTF-8字符。直到几周前,当他们以XML格式导出数据时,只有用户在表中拥有的无效字符才是斜杠/和空格字符,我们用下划线代替了它们。

[现在,我看到一些需要XML导出的用户正在使用他们的字段名称*!...。休息。

用于定义标签名称的部分代码:

valid_name

有效XML的示例:

invalid*name!

我不需要用户在其元素名称$doc = new DOMDocument(); $elementName = is_numeric($key) ? (string)$name : (string)$key; $elementName = str_replace(array('/', ' '), '_', trim($elementName)); $node = $doc->createElement($elementName); // here I get error "invalid character name" <?xml version="1.0"?> <rows total="621" page="1"> <row> <valid_name>60E49542D19D16EDB633A40</valid_name> .... 中看到...我需要知道什么是不允许在元素名称中使用的字符,我可能会替换为一个下划线,如果您有更好的主张,而不是用下划线代替它们,我也可以接受。

php xml dom
1个回答
0
投票

我将使用!来解码名称。作为字段名称,输出应该可以,并且您可以根据需要进行编码。用下划线代替将无法实现相反的方式。

© www.soinside.com 2019 - 2024. All rights reserved.