如何用 + 号写 xml 属性?

How can I write xml attribute with +sign?

我需要一个 xml 文件:

<xml>
    <per+1>value1</per+2>
    <per+2>value2</per2>
</xml>

我正在使用 python lxml 创建 xml 树。我使用 bs4 将字符串解析为 xml。但是结果是

<per>+1&gt;value1</per>
<per>+2&gt;value2</per>

我试过使用 + ,没有结果。

你不能。 XML 不支持标签或属性名称中的 + 个字符。

您不能在 XML 属性(或元素)名称中使用 +

首先,在 XML 术语中,您询问的是 element 名称; 属性不同:

<elementName attributeName="attributeValue"/>

无论如何,元素和属性名称都必须遵循 W3C XML BNF for component names:

Name          ::= NameStartChar (NameChar)*
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] |
                  [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] |
                  [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] |
                  [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] |
                  [#x10000-#xEFFFF]
NameChar      ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] |
                  [#x203F-#x2040]

不包括 + 字符。您唯一的选择是列出的那些字符。也许使用 _ 字符或某些字符串,例如 Plus 或放弃尝试在名称中传达 + 概念,并在元素字符串值中使用属性或字符。