[Home] [By Thread] [By Date] [Recent Entries]


From: "Aldo Nievas" <aldo.nievas@t...>
 
> The statement node.getNodeValue() cut the TEXT.
 
> Anybody have an idea what for ??
 
If the items are elements, try something like

                for (int i = 0; i < reports.getLength(); i++) {
                        reports.item(i).normalize();  // combine adjacent text nodes
                    Node node = reports.item(i).getFirstChild();

                    if(node.getNodeType() == node.TEXT_NODE) {

                        String name = node.getNodeValue().toString();

                        salida.append( name + "<BR>");

                        System.out.println(" REPORT: " + name);

                    }

                }


If they are not elements, then iterate yourself through each child of
          reports.item(i)

and, for each text node, append the result to salida. 

I don't know which API you are using (please
give such details when asking questions: is it the Apache one?), 
but I expect it has put the results of validating into several adjacent 
text nodes.   

It is easy to imagine that, for example, the assertion
  <assert test="xyz">The <name/> string</assert>
would end up being three text nodes: "The ", "xyz", and " string".

(DOM heads: is that right? Does Normalize traverse all subelements
or just work on the current element?)

Ciao
Rick


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member