"TransformerException: se esperaba un paso de ubicación" en android xpath
He estado intentando extraer datos de un archivo xml, pero sigo recibiendo este error y no estoy seguro de lo que estoy haciendo mal.
10-23 14:20:29.250: WARN/System.err(3541): --------------- linked to ------------------ 10-23 14:20:29.250: WARN/System.err(3541): javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: A location step was expected following the '/' or '//' token.
Aquí está mi código:
- ¿Cómo puedo obtener nodos específicos de XML usando XPath en Java?
- Texto del atributo xpath de Appium
- Cómo poner elementos anidados de archivo XML a la lista de objetos con VTD-XML parser?
- Quiero usar Xpath en Android para analizar XML
- Cómo encontrar xpath en una aplicación para móviles usando appium
String pill; URL url = new URL("file:///mnt/sdcard/cpdata/cpxml.xml"); InputSource xml = new InputSource(url.openStream()); XPath xpath = XPathFactory.newInstance().newXPath(); pill = xpath.evaluate("//data/monday/p1/",xml); pills.add(pill); Log.d("PILLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", pill); tv.setText(pill + "hi");
Y este es mi documento xml:
-<data> -<monday> <p1>test1</p1> <p2>test1</p2> </monday> -<tuesday> <p1>test1</p1> <p2>test1</p2> </tuesday> -<wednesday> <p1>1.0</p1> <p2>test1</p2> </wednesday> -<thursday> <p1>test1</p1> <p2>test1</p2> </thursday> -<friday> <p1>test1</p1> <p2>test1</p2> </friday> -<saturday> <p1>test1</p1> <p2>test1</p2> </saturday> -<sunday> <p1>test1</p1> <p2>test1</p2> </sunday>
- Appium: ¿No se pudo localizar un elemento utilizando Xpath en aplicaciones híbridas android?
- Necesidad de identificar xpath para el elemento android usando appium
- Buscar en archivo XML con XPath en Android
- Error desconocido en xpath (utilizando xmlpullparser)
- XPathExpression no evaluatng en el contexto adecuado?
- No se puede encontrar el elemento que utiliza xpath con Appium (estructura de robot)
- Analizando XMl en Android usando Xpath
- XPath.Evaluar el rendimiento se ralentiza (absurdamente) en varias llamadas
El problema es obvio :
Pill = xpath.evaluate ("// data / lunes / p1 /", xml);
La expresión XPath utilizada :
data/monday/p1/
Termina con "/"
y por lo tanto es sintácticamente ilegal.
Uso :
pill = xpath.evaluate("//data/monday/p1",xml);