在JavaScript中解析XML,尝试按类名获取元素
parsing XML in JavaScript, trying to get elements by classname
我正在尝试使用JavaScript解析一个大的XML文件。在线查看,似乎最简单的入门方法是使用浏览器的 DOM 解析器。这有效,我可以通过 ID 获取元素。我还可以获取这些元素的"class"属性,它返回我期望的内容。但是,我似乎无法按类获取元素。
在最新的Chrome中尝试了以下内容:
xmlString = '<?xml version="1.0"?>';
xmlString = xmlString + '<example class="test" id="example">content</example>'
parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/xml");
xmlDoc.getElementById("example");
// returns the example element (good)
xmlDoc.getElementById("example").getAttribute("class");
// returns "test" (good)
xmlDoc.getElementsByClassName("test");
// returns [] (bad)
有什么想法吗?
这应该获取给定类的所有元素,假设标记名称是一致的。
var elements = xmlDoc.getElementsByTagName('Example');
var classArray = [];
for(var i=0;i<elements.length;i++){
if(elements[i].className=="test"){
classArray.push(elements[i])
}}
可以使用 JQuery 通过类选择器来分析 XML 文件。 http://jquery.com
将解析器类型更新为 HTML 而不是 XML 应该可以。
parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/html")
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML