Är i en något brådska och skulle verkligen uppskatta ifall någon kunde hjälpa mig med en regex.
Jag läser med ett program in en xml-fil.
Ur denna fil skulle jag vilja plocka ut värden, för att senare sätta in i databas.
Filen är uppdelad enligt principen:
<cube name="name_str" value="value_double"/>
<cube name="name_str2" value="value_double2"/>
och fortsätter så.
Jag skulle vilja plocka ut dessa värden, för att som sagt inkludera i en databas, som jag sköter med en böna.
Japp Xerces är med i Tomcat5 iaf.
Vill du använda nån annan parser så är det inte svårare än att du lägger med den jar filen i tomcats common/lib/ om jag kommer ihåg rätt. Eller så lägger du den så att den bara är tillgänglig för din webapp i /WEB-INF/lib/ även om det inte är det smidigaste.
På samma sätt som man lägger in allt annat. Man laddar upp det. Om det är en JSP/Servlet-enablad server så är det bara att lasta ner det i lib-katalogen.
Har laddat hem Jdom nu, men måste erkänna att jag är en fullständig novis. Jag får det helt enkelt inte att fungera. Hur skall jag skapa jar-filen, och är det den som skall in i lib-katalogen?
org.apache.crimson.parser.EndOfInputException
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3182)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:520)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl
.java:185)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:134)
at xml2.ParseXML.<init>(ParseXML.java:20)
at xml2.ParseXML.main(ParseXML.java:65)
Så här kan du hämta dagens.. (ändra från -1 till 0 för att testa mot dagens.. dom hade inte kommit när jag testade.. det är därför som jag satte den att hämta från igår)
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ParseXML
{
public ParseXML()
throws
SAXException,
IOException,
ParserConfigurationException,
FactoryConfigurationError,
TransformerException
{
String url = "http://www.ecb.int/stats/eurofxref/eurofxref-hist.xml";
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, [b]-1[/b]);
String date = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
System.out.println("Date: " + date);
Document mDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url);
NodeList list =
XPathAPI.selectNodeList(mDocument, "Envelope/Cube/Cube[@time='" + date + "']/Cube");
for (int i = 0; i < list.getLength(); i++)
{
Node node = list.item(i);
String currency = node.getAttributes().getNamedItem("currency").getNodeValue();
String rate = node.getAttributes().getNamedItem("rate").getNodeValue();
System.out.println("currency=" + currency + ", rate=" + rate);
}
}
public static void main(String[] args) throws Exception
{
new ParseXML();
}
}
AG skrev:
Har laddat hem Jdom nu, men måste erkänna att jag är en fullständig novis. Jag får det helt enkelt inte att fungera. Hur skall jag skapa jar-filen, och är det den som skall in i lib-katalogen?
Det är precis samma sak som när du kodar en vanlig applikation, för att få tillgång till det extra API du vill använda så måste jar filen komma med i classpathen.. och det gör den i detta fallet om du lägger den i lib katalogen.
Om du har laddat hem jdom så finns det antagligen en jar fil med där.
239 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849