使用javascript从XML文件中提取部分文本
我试图从下面的XML文件中提取节点内的一部分文本。我设法删除了前面的部分,但没有删除后面的部分。 我正在做一个文本比较,将要提取的部分作为边框。 但是,页面上没有显示任何内容。我在网上搜索并使用了不同的方法,但没有成功,如:使用javascript从XML文件中提取部分文本,javascript,xml,replace,Javascript,Xml,Replace,我试图从下面的XML文件中提取节点内的一部分文本。我设法删除了前面的部分,但没有删除后面的部分。 我正在做一个文本比较,将要提取的部分作为边框。 但是,页面上没有显示任何内容。我在网上搜索并使用了不同的方法,但没有成功,如: `var reg = new RegExp(/If/gi);` `.replaceData( reg , "");` 或: XML: 1.02 处理报告 1. 15 错误 8541 SKU数据。。。。亚马逊目录:品牌(商家:'Stor&ap
`var reg = new RegExp(/If/gi);`
`.replaceData( reg , "");`
或:
XML:
1.02
处理报告
1.
15
错误
8541
SKU数据。。。。亚马逊目录:品牌(商家:'Stor'/Amazon:'小熊维尼')。
**我要删除的部分=>**如果这是适合您产品的ASIN,请更新您的数据以匹配'他在房间里
亚马逊目录。如果'这不是正确的ASIN,请确保您的标准产品id数据为
对的
30604
17
错误
8541
SKU数据。。。。亚马逊目录:零件号(商户:''/Amazon:'ST-30614')。
**我要删除的部分=>**如果这是适合您产品的ASIN,请更新您的数据以匹配'他在房间里
亚马逊目录。如果'这不是正确的ASIN,请确保您的数据
标准产品标识正确。
30614
HTML和JavaScript:
<!DOCTYPE html>
<html>
<body>
<p id="demo2"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
//getting XML File
xhttp.open("GET", "/projectv1/raport", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
//Parse specific node
var result = xmlDoc.getElementsByTagName("ResultDescription")[0].childNodes[0];
//delete the first part of the text => The SKU data .... Amazon catalog:
var a = result.replaceData(0,220, "");
//trying to delete the second part with a text comparison because the part to extract is variable
var a = result.replace("This ......","");
var fin = document.getElementById("demo2");
fin.innerHTML = a;
}
</script>
</body>
</html>
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
我的职能(本);
}
};
//获取XML文件
xhttp.open(“GET”,“/projectv1/raport”,true);
xhttp.send();
函数myFunction(xml){
var xmlDoc=xml.responseXML;
//解析特定节点
var result=xmlDoc.getElementsByTagName(“ResultDescription”)[0].childNodes[0];
//删除文本的第一部分=>SKU数据…亚马逊目录:
var a=结果.replaceData(0220,“”);
//试图通过文本比较删除第二部分,因为要提取的部分是可变的
var a=结果。替换(“此……”,“”);
var fin=document.getElementById(“demo2”);
fin.innerHTML=a;
}
您是否尝试过使用子字符串
和索引
方法
您的问题示例:
var a = result.substring(34, result.indexOf("If"))
文件:
,在您的留言之后,我了解了这两种方法。然而,由于某些原因,它不起作用。。。我必须分解这两种方法才能工作,但通过学习这些方法,我发现了一个更简单的方法(在我看来):>split(),我将其用于我的代码:
var att=res.split('catalog:').pop().split('If').shift()代码>
<!DOCTYPE html>
<html>
<body>
<p id="demo2"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
//getting XML File
xhttp.open("GET", "/projectv1/raport", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
//Parse specific node
var result = xmlDoc.getElementsByTagName("ResultDescription")[0].childNodes[0];
//delete the first part of the text => The SKU data .... Amazon catalog:
var a = result.replaceData(0,220, "");
//trying to delete the second part with a text comparison because the part to extract is variable
var a = result.replace("This ......","");
var fin = document.getElementById("demo2");
fin.innerHTML = a;
}
</script>
</body>
</html>
var a = result.substring(34, result.indexOf("If"))