Javascript 当我试图将text/xml转换为对象时,为什么会得到一个{“location”:null}?

Javascript 当我试图将text/xml转换为对象时,为什么会得到一个{“location”:null}?,javascript,xml,domparser,Javascript,Xml,Domparser,我正试图理解这种行为,但有些地方出了问题,我不知道如何找到问题。下面是解析包含XML文本的字符串的简单代码: constxml='helloworld' const parser=new DOMParser() const result=parser.parseFromString(xml,'text/xml') 警报(JSON.stringify(result))请使用以下脚本:- Html- Javascript- <script> var parser, xmlDoc;

我正试图理解这种行为,但有些地方出了问题,我不知道如何找到问题。下面是解析包含XML文本的字符串的简单代码:

constxml='helloworld'
const parser=new DOMParser()
const result=parser.parseFromString(xml,'text/xml')

警报(JSON.stringify(result))
请使用以下脚本:- Html-

Javascript-

<script>
var parser, xmlDoc;
var text = "<data>Hello`enter code here` World</data>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("data")[0].childNodes[0].nodeValue;
</script>

var解析器,xmlDoc;
var text=“Hello`在这里输入代码`World”;
parser=新的DOMParser();
xmlDoc=parser.parseFromString(text,“text/xml”);
document.getElementById(“demo”).innerHTML=
xmlDoc.getElementsByTagName(“数据”)[0].childNodes[0].nodeValue;
它可以根据需要工作。

返回的不是JSON,如果要字符串化结果,请使用

constxml='helloworld';
const doc=new DOMParser().parseFromString(xml,'text/xml');
const docString=new XMLSerializer().serializeToString(doc);

console.log(docString)来自文档-

DOMParser接口提供了解析XML或HTML的能力 源代码从字符串转换为DOM文档

因此,它是将XML或HTML转换为DOM,而不是XML。因此,
alert(JSON.stringify(result))


parseFromString
返回保存文本解析表示形式的文档
对象
,如:

constxml='helloworld'
const parser=new DOMParser()
const result=parser.parseFromString(xml,'text/xml')
console.log(结果)
<script>
var parser, xmlDoc;
var text = "<data>Hello`enter code here` World</data>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("data")[0].childNodes[0].nodeValue;
</script>
const xml = '<data>Hello World</data>'

const parser = new DOMParser()
const result = parser.parseFromString(xml, 'text/xml')
console.log(result); 

Output:
#Document
<data>Hello World</data>
let s = new XMLSerializer();
console.log(s.serializeToString(result));