如何在javascript中有效解析xml

如何在javascript中有效解析xml,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我有一个很大的xml结构。我对某些xml结构感兴趣,如下所示。我只需要提取img标签和src属性的值(如果它们在coral卡中)。我试着用正则表达式来获取包含正则表达式的珊瑚卡标签,然后用正则表达式和珊瑚卡标签来获取img标签和内容 var regex = /<coral\-card ((.|[\r\n])*?)<\/coral\-card>/g; var regex=/DOMParser和xpath非常容易用于解析xml。您可以执行以下操作: const DOMParser

我有一个很大的xml结构。我对某些xml结构感兴趣,如下所示。我只需要提取img标签和src属性的值(如果它们在coral卡中)。我试着用正则表达式来获取包含正则表达式的珊瑚卡标签,然后用正则表达式和珊瑚卡标签来获取img标签和内容

var regex = /<coral\-card ((.|[\r\n])*?)<\/coral\-card>/g;

var regex=/DOMParser和xpath非常容易用于解析xml。您可以执行以下操作:

const DOMParser = require('xmldom').DOMParser;
const xpath = require('xpath');

let parser = new DOMParser();
let doc = parser.parseFromString(<your xml>);
let document = doc.documentElement;
let coralCards = xpath.select('<path>/coral-card', document);
constdomparser=require('xmldom').DOMParser;
constxpath=require('xpath');
让parser=newdomparser();
让doc=parser.parseFromString();
让document=doc.documentElement;
让coralCards=xpath.select('/coral-card',document);

有关从xml blob中提取节点的所有方法,请参见xpath文档。

DOMParser和xpath非常容易用于解析xml。您可以执行以下操作:

const DOMParser = require('xmldom').DOMParser;
const xpath = require('xpath');

let parser = new DOMParser();
let doc = parser.parseFromString(<your xml>);
let document = doc.documentElement;
let coralCards = xpath.select('<path>/coral-card', document);
constdomparser=require('xmldom').DOMParser;
constxpath=require('xpath');
让parser=newdomparser();
让doc=parser.parseFromString();
让document=doc.documentElement;
让coralCards=xpath.select('/coral-card',document);
有关从xml blob中提取节点的所有方法,请参见xpath文档。

这正是创建的原因:

//查找所有元素:
var elements=document.getElementsByTagName(“珊瑚卡”);
//循环通过它们:
对于(变量i=0;i

这正是创建的原因:

//查找所有元素:
var elements=document.getElementsByTagName(“珊瑚卡”);
//循环通过它们:
对于(变量i=0;i


您考虑过使用解析吗?您考虑过使用解析吗?谢谢。我在coral card标签中有指定的xml内容,或者确切地说,我有一个非常大的HTML内容,比如说htmlResponse,它有这个xml内容。在这种情况下documen.GetEelementsByTagName将如何工作?我应该首先使用parseHTML将html响应字符串转换为DOM吗?@Geek-Yes。一旦从字符串中解析出来。您可以使用domapi遍历它并提取您想要的任何内容。谢谢。我在coral card标签中有指定的xml内容,或者确切地说,我有一个非常大的HTML内容,比如说htmlResponse,它有这个xml内容。在这种情况下documen.GetEelementsByTagName将如何工作?我应该首先使用parseHTML将html响应字符串转换为DOM吗?@Geek-Yes。一旦从字符串中解析出来。您可以使用domapi遍历它并提取您想要的任何内容。