Java Dom API中getNodeValue和getTextContent的区别

<?xml version="1.0" encoding="UTF-8"?>
<people>
	<person persionId="E01">
			<name>  <familyname>叶</familyname>大飞</name>
			<address>xijie</address>
			<tel>12312-123</tel>
			<age>21</age>
	</person>
	<person persionId="E02">
			<name>yyf</name>
			<address>dongjie</address>
			<tel>12325435</tel>
			<age>12</age>
	</person>
	<person persionId="E03">
			<name>NIUNIU</name>
			<address>NANJIE</address>
			<tel>123123</tel>
			<age>3213</age>
	</person>
	<person persionId="E04">
			<name>超人</name>
			<address>北街</address>
			<tel>123120123-2</tel>
			<age>12</age>
	</person>
</people>

Dom解析器中Node和Element是严格区分开来的。

Element值的是<person></person>这样的东东

而在XML中:文本,注释,Element,指令,CDATA都被当做node。

比如 

<name>  <familyname>叶</familyname>大飞</name>
这段是一个tagName=”name"的元素。它包括了3个节点分别是

空格(文本节点,在DOM中就算你只是打了个回车也会被视为一行文本)

<familyname>叶</familyname>(元素,也是一个节点),

大飞(文本节点)。

         而对于Node中的getNodeValue()方法只对Attribute,Text,Comment,CDATA等节点有意义,其他取出来都是null。

而getTextContent()方法则返回此节点及其后代的文本内容,啥意思?比如上面的name元素调用getTextContent()方法则返回‘空格’叶大飞.

你可能感兴趣的:(xml,dom)