web-dev-qa-db-fra.com

Eclipse Node.getTextContent () dans Java 1.6.0_20

Je rencontre des problèmes avec Node.getTextContent () de org.w3c.dom. J'ai le bloc de code suivant:

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

Et Eclipse me donne The method getTextContent() is undefined for the type Node. Quel est le problème que je ne comprends pas.

Merci et salutations.


Éditer:

<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>

Il s'agit du fichier pom.xml et le digesteur commun a besoin de xml-apis-1.0b2 qui contient org.w3c.dom. Je pense que c'est un problème de dépendance.

39
Tapas Bose

Vous devez accéder aux propriétés du projet dans Eclipse. Sélectionnez ensuite "Java Build Path" et l'onglet "Order and Export". Ici, vous pouvez organiser l'ordre des dépendances. Assurez-vous que votre JRE est plus élevé que les dépendances Maven.

139

Essayez d'utiliser:

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

AFAIK C'est une manière "plus sûre" que getTextContent() dans certains cas.

18

Je sais que c'est un article plus ancien, mais pour tous ceux qui y sont arrivés, j'ai eu un problème similaire et je l'ai résolu en suivant les étapes indiquées dans:

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

A savoir, org.w3c.dom.Node.getTextContent() is only available as of Java 1.5 mais notez également les déclarations de Node. Le xml-apis-1.0.b2.jar est la problématique. Allez dans les propriétés du projet> Java Chemin de génération> onglet Ordre et exportation, et déplacez xml-apis-1.0.b2.jar jusqu'au sommet.

8
Paco