Java如何只从节点而不是从他的孩子那里读取文本

时间:2015-03-30 16:07:32

标签: java

我需要只阅读ElementByTagName(“id”)l; 当我获取NodeList元素byTagname(id)时,它也会返回详细信息

<Movie_List>
        <category>
            <id id="idAction">Action  <----- I have to read just This
                <details>some details</details> <-- not both of them
            </id>
        </category>
    </Movie_List>

这个

 NodeList nodeStruct = myDoc.getElementsByTagName("Movie_List");             
    for(int i = 0 ; i < nodeStruct.getLength() ; i++){
        Node myNode = nodeStruct.item(i);
        if(myNode.getNodeType() == Node.ELEMENT_NODE){
            Element myElement = (Element) myNode;

            NodeList categoryLength = myElement.getElementsByTagName("id");               
            for (int j=0 ; j<categoryLength.getLength() ; j++){
              cateFilm.add(i,myElement.getElementsByTagName("id").item(j).getTextContent());
            }

1 个答案:

答案 0 :(得分:1)

NodeList categoryLength = myElement.getElementsByTagName("id"); //get all ID elements 
Node valNode = categoryLength.getChildNodes().item(0); //get the node representing value of the id element.
String value = valNode.getNodeValue(); //value of the node is the text between the id tags. 

XML似乎无效。