Javascript 如何在ExtJS4中为XML读取器转义XML中的冒号(:)
我无法加载属性名中带有冒号的xml,我使用的是extjs-4.2.1 我的示例xmlJavascript 如何在ExtJS4中为XML读取器转义XML中的冒号(:),javascript,xml,extjs,Javascript,Xml,Extjs,我无法加载属性名中带有冒号的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> </S
<RDF>
<Seq about="urn:productManagement:root" type="ROOT" ac:maxLevels="25">
<li>
<Description ac:name="name1" ac:type="type1"/>
</li>
</Seq>
</RDF>
我试着用|(管道)代替:但对我来说不起作用。需要帮助。冒号是XML标识符中的保留字符,只能用于绑定XML命名空间。没有办法为了其他目的而逃避它。您可能可以找到一个XML的名称空间前实现,它不检查这一点,并且允许您滥用冒号字符,但是您的文档将无法与处理XML的任何其他代码进行互操作 请参见中的注释,以及
使用其他字符,或正确声明ac:namespace前缀。这是一个EXTJS问题,您需要在XML中定义名称空间 在这个例子中
<RDF xmlns:ac="http://my.example.com/ac">
<Seq about="urn:productManagement:root" type="ROOT" ac:maxLevels="25">
<li>
<Description ac:name="name1" ac:type="type1"/>
</li>
</Seq>
</RDF>
}))
<RDF xmlns:ac="http://my.example.com/ac">
<Seq about="urn:productManagement:root" type="ROOT" ac:maxLevels="25">
<li>
<Description ac:name="name1" ac:type="type1"/>
</li>
</Seq>
</RDF>
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'}
]