【问题标题】:Display value of XML ObjectXML 对象的显示值
【发布时间】:2017-02-14 20:49:26
【问题描述】:

我使用 XML 对象从服务器下载一个 XML 文件。我的任务是在下载的文件中显示该对象。这是我到现在为止的成就:

我的代码在读取操作成功回调中运行。这是有效的:

var string = "abs"; 
var fileName = "docxml";

var uri = 'data:text/xml;charset=utf-8,'+ encodeURI(string);

var link = document.createElement("a");    
link.href = uri;
link.style = "visibility:hidden";
link.download = fileName + ".xml";

document.body.appendChild(link);
link.click();
document.body.removeChild(link);

如果我以这种方式构建 URI,它将无法正常工作。

var uri = 'data:text/xml;charset=utf-8,'+ encodeURI(oData.results[0].xmlmessage); 

如何访问对象的 XML 内容?

【问题讨论】:

  • 对象来自我显示它的文本区域。

标签: javascript xml dom sapui5 encode


【解决方案1】:

您的 odatamodel 可能会使用 JSON。要获得 JOSN 输出,您可以执行以下操作: 如果您的其余代码是正确的,请尝试this

var uri = 'data:text/xml;charset=utf-8,'+ JSON.stringify(oData);

如果您需要 XML,您应该将模型设置为 XML 或将 oData 解析为 XML。在stackoverflow上搜索会给你一些好的results

【讨论】:

  • 有了你的回答,我得到了所有的服务和所有的 oData 参数,但我只需要显示 oData.results[0].xmlmessage。我试图把 var uri = 'data:text/xml;charset=utf-8,'+ JSON.stringify(oData.results[0].xmlmessage);但它只在文件 '' 内显示两个引号。
  • 那是因为您的响应可能没有属性 xmlmessage。您应该评估您的响应回馈的内容,然后只传递您需要的内容。使用“.xmlmessage”无法以 xml 格式表示 JSON 数据。
  • 我检查了我的服务,我把它放在服务中,我把它放在 JSON 查看器上,里面有内容......
  • 好的,我发现了问题,你说得对,我现在可以将字符串放入文件中,但是因为是一个 xml 对象,所以我只在使用记事本打开它或打开文件时才显示它带有浏览器的文件(因为 xml 文件默认请求浏览器)文件为空,仅显示白色背景。
  • 我必须在浏览器中将 xml 内容显示为 xml 内容,我不能使用 JSON.stringify 因为我只能用记事本查看内容,浏览器不知道如何阅读字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多