2011-07-24 45 views
39

我正面臨着org.w3c.dom的Node.getTextContent()的問題。我有以下代碼塊:Java中的Eclipse Node.getTextContent()1.6.0_20

String name = document.getElementsByTagName("name").item(0).getTextContent(); 

和日食給我The method getTextContent() is undefined for the type Node。我不明白的是什麼問題。

感謝和問候。


編輯:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>FBApp</groupId> 
    <artifactId>FBApp</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <repositories> 
     <repository> 
      <id>java.net.maven1</id> 
      <name>java.net</name> 
      <url>http://download.java.net/maven/1</url> 
     </repository> 
     <repository> 
      <id>maven2-repository.java.net</id> 
      <name>Java.net Repository for Maven</name> 
      <url>http://download.java.net/maven/2/</url> 
     </repository> 
    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-api</artifactId> 
      <version>1.2</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-impl</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <classifier>NIGHTLY_20060227</classifier> 
      <scope>compile</scope> 
     </dependency>  
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils</artifactId> 
      <version>1.7.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils-bean-collections</artifactId> 
      <version>1.7.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils-core</artifactId> 
      <version>1.7.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.3</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>3.1</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-digester</groupId> 
      <artifactId>commons-digester</artifactId> 
      <version>1.7</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-el</groupId> 
      <artifactId>commons-el</artifactId> 
      <version>1.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-fileupload</groupId> 
      <artifactId>commons-fileupload</artifactId> 
      <version>1.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.1.1</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-validator</groupId> 
      <artifactId>commons-validator</artifactId> 
      <version>1.1.4</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>oro</groupId> 
      <artifactId>oro</artifactId> 
      <version>2.0.8</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 

     <dependency> 
      <groupId>com.google.code.facebookapi</groupId> 
      <artifactId>facebook-java-api</artifactId> 
      <version>3.0.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.facebookapi</groupId> 
      <artifactId>facebook-java-api-annotation-processor</artifactId> 
      <version>3.0.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.facebookapi</groupId> 
      <artifactId>facebook-java-api-schema</artifactId> 
      <version>3.0.2</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.4.2</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl104-over-slf4j</artifactId> 
      <version>1.4.2</version> 
      <scope>runtime</scope> 
     </dependency>   
    </dependencies> 
</project> 

這是pom.xml中和公共沼氣池需要XML的API-1.0b2包含org.w3c.dom中。我認爲這是一個依賴問題。

回答

138

你需要去eclipse項目的屬性。然後選擇「Java Build Path」並點擊「訂購和導出」。在這裏你可以安排依賴關係的順序。確保您的JRE比Maven依賴關係更高。

+1

這可能是Eclipse和Maven製作的很多東西的解決方案。非常感謝。 – fiskeben

+1

儘管getNodeValue()解決方案可能會更好,但這對我來說是一個快速解決方案。 – JBCP

+0

是啊,它也爲我罰款! +1 – arthur

18

嘗試使用:

document.getElementsByTagName("name").item(0).getFirstChild().getNodeValue(); 

據我所知它的 「安全」 的方式比在某些情況下getTextContent()

+0

這並不是真的有同樣的效果。根據api文檔,getTextContent()返回此... 並置每個子節點(不包括COMMENT_NODE和PROCESSING_INSTRUCTION_NODE節點)的textContent屬性值。如果節點沒有子節點,則這是空字符串。 – teknopaul

8

我知道這是一個老帖子,但任何人誰達到這一點,我也有類似的問題,並使用指定的步驟固定它:

http://mergetag.com/the-method-gettextcontent-is-undefined-for-the-type-node/

也就是說,org.w3c.dom.Node.getTextContent() is only available as of Java 1.5還要注意的聲明Nodexml-apis-1.0.b2.jar是有問題的。進入項目Properties> Java Build Path> Order and Export選項卡,並將xml-apis-1.0.b2.jar移至頂部。

+0

這是這個問題的正確答案。 – Sudar

+0

考慮編寫解決方案,因爲鏈接/帖子可能會死機。 –

+0

Paco:非常感謝您提供了這樣一個很好的解決方案。把它打上:) –