转义 XML 属性名称中的正斜杠



在对XML字符串进行操作之前,我正在将XML字符串转换为文档。我从第三方 API 接收 XML。

这是我的 XML

<Student full/part="part" name="Some Name" dob="2000-08-01" totalMarks="565" science="9" maths="8" registration="987654"  class="distinction" />

这是我得到的例外

org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: org.w3c.dom.Document with value  due org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 64; Attribute name "full" associated with an element type "Student" must be followed by the ' = ' character.

现在我没有定义,我只是从这个XML中检索属性值,即明天这个元素类型可能是学生的老师,但我只是把注册,类甚至"完整/部分"等属性的值放在一起。

我想知道哪个org.w3c.dom.Document在给定元素类型的XML属性名称中容忍此正斜杠。

XML

属性(或 XML 元素(的名称

[5] Name ::= NameStartChar (NameChar)*

不能包含/字符:

[4] 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]

[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]

没有逃生机制可以允许其他情况。

最新更新