gpt4 book ai didi

java - XML 节点和子节点

转载 作者:行者123 更新时间:2023-11-30 07:19:49 24 4
gpt4 key购买 nike

header = new LinkedHashMap<String,Object>();
Element headerElement = (Element)doc.getElementsByTagName( "Header").item(0);
NodeList elementList = headerElement.getElementsByTagName( "*" );
for( int index =0; index < elementList.getLength(); index++ ){
Node element = elementList.item(index);
System.out.println( element.getChildNodes().item(0).getTextContent() ); // Statement A
System.out.println( element.getTextContent()); // Statement B

语句 A 和语句 B 都打印相同的输出。

什么意思,每个节点都是自己的子节点??

输入的 XML 是

<Header>
<tag1>1</tag1>
<tag2>2</tag2>
<tag3>3</tag3>
<tag4>4</tag4>
</Header>

最佳答案

来自documentation of Node.getTextContent() ,对于 ELEMENT_NODE 的节点类型:

concatenation of the textContent attribute value of every child node, excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the node has no children.

而对于文本节点,该方法的返回值只是nodeValue,即节点的文本。

是的 - 在具有单个子节点(文本节点)的元素上调用此方法为您提供与直接在该文本节点上调用它相同的结果。但在其他情况下,您会得到不同的结果。例如,如果您有这样一个元素:

<tag>1<break />2</tag>

将有两个子文本节点和一个子元素节点,结果将是“1 2”(或可能是“12”;我不确定在这种串联中间距如何工作,但您可以检查)。

这不是节点“包含自身”的问题 - 这只是定义此方法的作用的问题。

关于java - XML 节点和子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373891/

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