gpt4 book ai didi

javascript - XML 节点和文本值。这是正确的吗?

转载 作者:行者123 更新时间:2023-12-02 18:04:30 25 4
gpt4 key购买 nike

我有以下 XML 部分。我似乎可以回答两个问题:它是有效的 XML 吗? (在“FOO”内有一个值和子节点。问题2(更重要的一个),如何在JavaScript中分别访问“TEXT”值和“BOO”节点?

<FOO>
TEXT
<BOO>
</BOO>
<BOO>
</BOO>
</FOO>

尝试过 .firstChild.nodeValue ,效果很好。 (返回 TEXT 的值)但是,如果 TEXT 为空,则会出现问题。它返回一个 [Object Element](BOO 节点)。所以基本上 - 我想获取 TEXT 文本(如果存在),如果不存在,我想获取 null 或等效值。

最佳答案

是的,这是一个有效的 XML。这是有效 XML 的一些基本规则:

  • XML 文档必须有根元素
  • XML 元素必须有结束标记
  • XML 标签区分大小写
  • XML 元素必须正确嵌套
  • XML 属性值必须加引号

拥有此 XML 文档:

<CATALOG>
VERSION_1
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
</CATALOG>

您可以使用如下代码在 JavaScript 中访问该文档:

x=xmlDoc.getElementsByTagName("CD");
i=0;

function displayCD()
{
// What you want here --->
textInRootElemnt=xmlDoc.getElementsByTagName("CATALOG")[0].childNodes[0].nodeValue;


artist=(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
title=(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
year=(x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue);
txt="Artist: " + artist + "<br />Title: " + title + "<br />Year: "+ year;
document.getElementById("showCD").innerHTML=txt;
}

其中 xmlDoc 是您加载的文档。

考虑以下非常基本的 tutorial 关于 XML。

关于javascript - XML 节点和文本值。这是正确的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20212400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com