getElementsByTagName 在三角括号处停止
getElementsByTagName stopping at triangle bracket
我在这种情况下使用 getElementsByTagName
TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[i].childNodes[0].nodeValue;
获取节点值但是当文本包含三角括号时如:
<ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle>
我只能检索
The Cat Sat on The
如何防止节点文本中的三角括号过早结束文本捕获?
<ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle>
有三个子节点
- 文本节点:
The Cat Sat on The
<i>
节点 <i>Mat</i>
- 文本节点
"
所以,.childNodes[0].nodeValue;
当然就是The Cat Sat on The
要修复,请使用:
TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[i].textContent;
改为
let doc = `<xml><ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle></xml>`;
let xmlDoc = new DOMParser().parseFromString(doc, 'text/xml');
let TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[0].textContent;
console.log(TheTitle);
我在这种情况下使用 getElementsByTagName
TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[i].childNodes[0].nodeValue;
获取节点值但是当文本包含三角括号时如:
<ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle>
我只能检索
The Cat Sat on The
如何防止节点文本中的三角括号过早结束文本捕获?
<ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle>
有三个子节点
- 文本节点:
The Cat Sat on The
<i>
节点<i>Mat</i>
- 文本节点
"
所以,.childNodes[0].nodeValue;
当然就是The Cat Sat on The
要修复,请使用:
TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[i].textContent;
改为
let doc = `<xml><ArticleTitle>"The Cat Sat on The <i>Mat</i>"</ArticleTitle></xml>`;
let xmlDoc = new DOMParser().parseFromString(doc, 'text/xml');
let TheTitle = xmlDoc.getElementsByTagName("ArticleTitle")[0].textContent;
console.log(TheTitle);