我需要一个带有的xml文件:
<xml>
<per+1>value1</per+2>
<per+2>value2</per2>
</xml>
我正在使用python lxml创建xml树。我使用bs4将字符串解析为xml。但是结果是
<per>+1>value1</per>
<per>+2>value2</per>
我尝试使用+,但没有结果。
答案 0 :(得分:3)
您不能在XML属性(或元素)名称中使用+
。
首先,在XML术语中,您要询问 元素 名称; 属性 是不同的:
<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
之类的字符串,或者放弃尝试在名称中传达+
概念,并在元素字符串值中使用属性或字符。
答案 1 :(得分:0)
不能。 XML在标记或属性名称中不支持+
个字符。