如何使用DOMParser获取自定义XML标签<XYZ:PAN>的文本值?
提取XML元素的文本值
既然你已经成功定位到了XYZ:PAN元素,提取它的文本内容其实超简单的,DOM元素给我们提供了几个好用的属性和方法,我给你列出来:
优先推荐:textContent属性
这是最通用、兼容性最好的方式,不管元素有没有子元素,它都能返回所有的文本内容(你的场景里元素只有纯文本,刚好完美适配):
parseXML(XMLAsString){ var parser=new DOMParser() var result=parser.parseFromString(XMLAsString, 'text/xml'); var panElement=result.getElementsByTagName('XYZ:PAN').item(0); // 提取PAN文本值 var panValue = panElement.textContent; console.log(panValue); // 输出:ABCDS1234N }
备选方案:innerText属性
这个属性也能拿到文本内容,但它会考虑元素的CSS样式(比如隐藏元素的文本不会被返回),不过在XML解析的场景下,它和textContent的效果基本一致:
var panValue = panElement.innerText;
另一种方式:通过子节点获取
如果确定XYZ:PAN元素只有文本节点作为子元素,也可以通过访问第一个子节点的nodeValue来拿到文本:
var panValue = panElement.firstChild.nodeValue;
总的来说,textContent是最稳妥的选择,优先用它就没问题啦。
内容的提问来源于stack exchange,提问作者Samarth Saxena
相关产品推荐
相关产品推荐

