我无法加载属性名称中有冒号的 xml,我使用的是 extjs-4.2.1
我的示例 xml
<RDF>
<Seq about="urn:productManagement:root" type="ROOT" ac:maxLevels="25">
<li>
<Description ac:name="name1" ac:type="type1"/>
</li>
</Seq>
</RDF>
上述 xml 的模型
Ext.define('TR.model.TreeControlModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'about', mapping:'@about'},
{ name: 'type', mapping:'li>Description@ac:type'},
{ name: "name", mapping:'li>Description@ac:name'}
]
});
我尝试将 : 替换为 | (管道)但它对我不起作用。需要帮助。
最佳答案
冒号是 XML 标识符中的保留字符,只能用于绑定(bind) XML 命名空间。没有办法为了其他目的而逃避它。您可能能够找到 XML 的前命名空间实现,它不检查这一点并允许您避免滥用冒号字符,但您的文档将无法与处理的任何其他代码互操作XML。
请参阅 http://www.w3.org/TR/REC-xml/#sec-common-syn 中的注释, 和 http://www.w3.org/TR/REC-xml-names/
使用不同的字符,或正确声明 ac: 命名空间前缀。
关于javascript - 如何转义冒号(:) in XML for XML Reader in extjs 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756641/