获取对象 XmlDocument 值

Posted

技术标签:

【中文标题】获取对象 XmlDocument 值【英文标题】:Get Object XmlDocument value 【发布时间】:2021-09-30 01:40:29 【问题描述】:

我正在执行对外部 api 的 ajax 调用(无法修改)以将存储文件上传到文件夹中。此请求必须返回一个路径(例如“C:\Doctos\File.pdf”,但在 console.log 返回如下内容之后:

#document "C:\Doctos\File.pdf"

所以我的问题是,我该怎么做才能只获取我想要的文本而不对 api 进行任何更改(因为我无法做到)。

这是我正在使用的 ajax 调用。

警察局。此 ajax 调用使用为开发 api 的开发团队提供的结构,因此也无法修改 dataType 等内容

var data = new FormData();
var files = $('#fileUpload').get(0).files;

if (files.length > 0) 
    data.append("UploadedFile", files[0]);


$.ajax(
    type: 'POST',
    url: 'api/v1/moreurl/UploadFile',
    contentType: false,
    processData: false,
    data: data,
    success: function (data) 
        var res = data;
        //Returns above example
        console.log(res);

        //Returns something like <p>[object XMLDocument]</p>
        $('#MyInput').attr('src', res);
    
);

【问题讨论】:

【参考方案1】:

我会使用正则表达式从接收到的数据中获取所需的字符串。把它放在success 行之后。

var regex = />\"(.*)\"/;
var matched = regex.exec(data);
var result = matched[1];
console.log(result);

正则表达式匹配您示例中最后引用的字符串。

【讨论】:

【参考方案2】:

你可以用jQuery获取xml中的数据

$.ajax(
    type: 'POST',
    url: 'api/v1/moreurl/UploadFile',
    contentType: false,
    processData: false,
    data: data,
    success: function (data) 
        // Get the contents of the xml
        var file = $(data).find('string').text();
        $('#MyInput').attr('src', file);
    
);

【讨论】:

以上是关于获取对象 XmlDocument 值的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 C# 的 XmlDocument 读取 XML 数据 - 读取属性数据并拆分结果

使用 XmlDocument 获取 InnerText 或 InnerXml 时保留 XML 实体引用

将 xmlDocument 对象数据转换为 pdf

从 XmlDocument 中获取带有换行符的缩进 XML 的最简单方法是啥?

使用 System.Xml.XmlDocument 时是不是可以从 System.Xml.XmlNode 获取行号/位置?

从 XmlDocument 中解析大小和位置对象?