Děkuji za radu ale nebudete mi věřit i tohle jsem zkoušel a
Exception in thread "main" org.dom4j.InvalidXPathException: Invalid XPath
expression: '/el/menutem1'. Caused by: org/jaxen/dom4j/Dom4jXPath
at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:362)
at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:59)
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
už mě snad napadá jen že jsem nějak nenastavil dom4j ... ale bohužel nevím kde
zkoušel jsem přepsat inicializační část na SAXReader kdyz to debuguju tak se
vytvori spravnej document
import org.dom4j.io.SAXReader;
import org.dom4j.Document;
File fName = new File("newXml.xml");
SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(fName);
} catch (DocumentException ex) {
ex.printStackTrace();
}
List item = document.selectNodes("/el/menutem1");
pro uplnost vypisu newXml.xml
<?xml version="1.0" encoding="UTF-8"?>
<el>
<menutem1 >prvni položka</menutem1>
<menuitem2>druhá položka</menuitem2>
<menuitem2>třetí položka</menuitem2>
</el>
asi bude jednodusi zustat u JDOM .(( proste uz jsem to kontroloval ani nevim
kolikrat
a porad at napisu do document.selectNodes("/el/menutem1"); cokoliv tak mi to
spadne na
XPath.V debugu me vsechno projde vse se vytvori tak jak predpokladam ze ma a
stejne me XPath odstreli.
S pozdravem Petr Roubal
>Message: 4
>Date: Tue, 14 Nov 2006 22:44:10 +0100
>From: Lukas Barton <[EMAIL PROTECTED]>
>Subject: Re: off topic dotaz .( dom4j
>To: Java <[email protected]>
>Message-ID: <[EMAIL PROTECTED]>
>Content-Type: text/plain; charset=windows-1250; format=flowed
>
>Pouzijte jen /el/menutem1. Vice viz:
http://www.w3schools.com/xpath/default.asp.
>
> Lukas
>
>PS: opravte si preklep menutem1 na menuitem1 (chybejici i).
>
>[EMAIL PROTECTED] wrote:
>
>>Dobrý den,
>>najde se dobrá duše která mě poradí kde dělám chybu.
>>Mám následující problém:
>>parsoval jsem Xml pomocí JDOM, ted ale chci přejít na dom4j kvůli XPath
>>můj problém je ,že právě když napíšu nějaký XPath tak mi debuger v
netbeansech zahlásí špatný XPath
>>žiju v domění ,že když mám soubor newXml.xml v něm root element el a v
něm elementy menutem1
>>,pak přes XPath k nim přistoupím pomocí "/newXml/el/menutem1" ... abych
řekl pravdu ... zkoušel jsem už hodně kombinací a ani jednu mi to
nesežralo.
>>ještě dodávám že newXml je v rootu projektovýho adresáře a pomocí JDOM
jsem to v pohodě načítal.
>>Pro lepší představu přikládám následující kus kodu : zaremovaný je verze
pro JDOM která chodila (teda to co jsem musel změnit při přechodu na dom4j)
>> String filename = new String("newXml.xml");
>> String menuitem = null;
>> List clearedList = null;
>> // SAXBuilder parser = new SAXBuilder();
>> DOMBuilder parser = new DOMBuilder();
>> DOMDocument doc = new DOMDocument(filename);
>> // Document doc;
>> // try{ > // doc = parser.build(filename); > //
doc = parser.build()
>> // }
>> // catch(Exception ex){
>> // ex.printStackTrace();
>> // }
>> // List item = doc.getRootElement().getChildren("menutem1");
>> List item = doc.selectNodes("/newXml/el/menutem1");
>> Iterator i = item.iterator();
>> clearedList = new ArrayList();
>> while (i.hasNext())
>> {
>> Element polozka = (Element)i.next(); >
menuitem = polozka.getValue();
>> > clearedList.add(menuitem); > >} >
>>předpokládám ale ,že problém kterej řeším může být jen následek nějaký
základní chyby už v inicializaci Parseru a documentu.
>>
>>Za případné odpovědi předem děkuji Petr Roubal