Javascript 在EXTJS中显示/呈现XML

Javascript 在EXTJS中显示/呈现XML,javascript,extjs,extjs4.1,Javascript,Extjs,Extjs4.1,我想在ExtJS面板和窗口中显示一个从后端提取的XML。 我尝试创建一个新窗口,打开一个新窗口,并分配文档类型,但它没有得到正确的格式,就像我们在IE中打开一样。还有一种方法我可以在EXT JS窗口而不是浏览器窗口中打开它。我的XML是动态的,每次都可能是不同的XML(具有不同的根节点)。这是我到目前为止所做的尝试,但没有成功 myXmlWindow=window.open(“”,'FullView','toolbar=no,location=no,scrollbars=yes'); myXm

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

myXmlWindow=window.open(“”,'FullView','toolbar=no,location=no,scrollbars=yes');
myXmlWindow.document.write(“+xmlString+”)试试这把小提琴-

您只需使用参数
('data:text/xml,+xmlText)
调用
window.open()
,还可以根据需要传递其他窗口选项。这将打开一个包含xml内容的新选项卡

chrome中的xml-


尝试使用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();
var xmlText='22';
xmlText=encodeURI(xmlText);
var myWindow=Ext.create(“Ext.window.window”{
宽度:800,
身高:600,
布局:“适合”,
items:[Ext.create(“Ext.ux.IFrame”{
src:'数据:text/xml,'+xmlText
})]
});
myWindow.show();

诀窍是将XML封装在类似这样的标记中



这不完全是我想要的,但有一种变通方法

Ext.window.window只是一个特殊的Ext.panel.panel,而不是一个浏览器窗口对象Hi Yellen,当我尝试这样做时,我遇到了一个错误:这个网页不可用错误无效URL您是否编码xmlText?另外,您的xml如何?是的。我可以在console.log()中看到完整的xml但当我显示时,它会抛出一些错误,比如:-xmlString=”“+document;log(xmlString);var w=window.open(“”,'FullView','data:text/xml',+encodeURI(xmlString));我认为IFrame的内容将是解析后的xml值,而不会实际显示为xml。该窗口在内容中只显示22。这是正确的。iFame解析XML文档并仅显示内容您可以使用其他XML输出生成器吗?比如@SimonHoss——我想,我会感谢你的帮助。我能用的东西。:)您的xml无效。这是您正确的xml-238这是一个测试xml 6 760 0090008924 15这是一个测试xml 1985-12-29T00:00:00-06:00 9999-12-31T00:00:00-06:00有什么区别?我想我介绍了我遇到的不匹配的标记。但是我发布的xml是有效的。检查这里-我也使用相同的xml,请参考思考链接以获得uri编码。这会有帮助的,我以为你想让它像你所附的图片一样显示-使用这些展开-折叠选项!!仅仅将xml的内容显示为文本是完全不同的。是的,这是我的初衷。但是我放弃了。所以我不会把我的解决方案称为答案,而是一些可行的方法。非常感谢您的帮助,我只是不明白xml在您的案例中是如何给出错误的。我不知道。无法理解。我试图在Altova中复制该XML,这也会产生错误,如“最后有一些附加内容”,但我看不到任何内容。那真的是一个糟糕的XML。你应该把它修好。