Опитвам се да получа само част от атрибут (може също да е част от елемент), но засега нямам успех. Изключението, което получавам, е „Невалиден XPath израз: //@att/tokenize(., ' ')[.][position() = 1] Очакван тип възел“. Използвам dom4j 1.6.1.
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.XPath;
import org.dom4j.xpath.DefaultXPath;
public class TestXPathString {
/**
* @param args
* @throws DocumentException
*/
public static void main(String[] args) throws DocumentException {
Document doc = DocumentHelper
.parseText("<x><y att='I just need the first word' /></x>");
XPath xpath = new DefaultXPath("//@att/tokenize(., ' ')[.][position() = 1]");
Object result = xpath.evaluate(doc);
System.out.printf("Type: %s, Value: %s\n", result.getClass()
.getSimpleName(), result);
}
}
Не работи с
doc.selectObject("//@att/substring-before(., ' ')");
или.
Някакви идеи?