javascript - 在 EXTJS 中显示/渲染 XML

标签 javascript extjs extjs4.1

我想显示一个 XML,该 XML 将从 EXT JS 面板和窗口中的后端获取。 我尝试创建一个新窗口并打开一个新窗口并分配文档类型,但它的格式不正确,就像我们在 IE 中打开时那样。还有一种方法可以在 EXT JS 窗口而不是浏览器窗口中打开它。我的 XML 是动态的,每次都可能是不同的 XML(具有不同的根节点)。这是我到目前为止所尝试过的,但没有成功

myXmlWindow = window.open('', 'FullView', 'toolbar=no,location=no,scrollbars=yes');
myXmlWindow.document.write("<link rel=\"stylesheet\" href=\"resources/XMLDisplay.css\" type=\"text/css\"><center><table class=\"data\"><tr><th>" + xmlString + "</td></tr></table></center>");

任何人都可以帮我解决这个问题吗?我需要做的就是在 IE 中显示 XML,就像下面的屏幕截图

Sample XML viewed in IE

这是我的 XML

<?xml version="1.0" encoding="UTF-8" ?>
<Record>
  <SYS_ID>238</SYS_ID>
  <SYS_DSC>This is a test XML</SYS_DSC>
  <GTMU_ID>6</GTMU_ID>
  <LOC_ID>3760</LOC_ID>
  <SLS_UNIT_ID>0090008924</SLS_UNIT_ID>
  <RLTNSHP_TYP_CDV>15</RLTNSHP_TYP_CDV>
  <RLTNSHP_TYP_NM>This is a test XML</RLTNSHP_TYP_NM>
  <RLTNSHP_STRT_DT>1985-12-29T00:00:00-06:00</RLTNSHP_STRT_DT>
  <RLTNSHP_END_DT>9999-12-31T00:00:00-06:00</RLTNSHP_END_DT>
</Record>

如果我按照耶伦的建议这样做,

var w= window.open('data:text/xml,'+encodeURI(xmlString));

我遇到以下错误

Error

最佳答案

尝试使用 iframe。 ExtJS 通过 Ext.ux.IFrame 提供了一个扩展,您应该能够将 xml 嵌套到 Ext.Window 中。

var xmlText = '<?xml version="1.0" encoding="UTF-8" ?><Employee><Id>22</Id></Employee>';

xmlText = encodeURI(xmlText);

var myWindow = Ext.create("Ext.window.Window", {
    width: 800,
    height: 600,
    layout: "fit",
    items: [Ext.create("Ext.ux.IFrame", {
        src: 'data:text/xml,' + xmlText
    })]
});

myWindow.show();

关于javascript - 在 EXTJS 中显示/渲染 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29783004/

相关文章:

javascript - 为 ExtJs 中的多个 Controller 绑定(bind)事件

javascript - up() 和 down() 与 Ext.getCmp()

javascript - 改变extjs4.1中xtype文本的颜色

javascript - `element.removeEventLister` 和 `element = null` 之间有什么区别?

javascript - 如何使用 Dart 设置元素的文本?

JavaScript/CSS overflow-x 不围绕 float 元素展开

javascript - 组合插入数组Reduce中的项目

ExtJS 4 : "c is not a constructor"

sencha-touch - Sencha 隐藏显示按钮

extjs - ExtJS 4选择带有复选框标题的多个CheckColumn复选框