Hallo zusammen ich habe folgendes Problem: ich möchte nachfolgendes XML file auslesen und bearbeiten. Das auslesen gelingt mir auch Das auslesen ohne den <!DOCTYPE> Tag funktioniert bestens, doch wie lese ich das File mit dem <!DOCTYPE> Tag aus, also brauch es den überhaupt? Weiter möchte ich dan eine unterscheidung des Tags <affichage> wenn das Attribut den Wert "button" hat soll ein Button dargestellt werden steht was anderes drin muss der Tag nicht dar gestellt werden.
In einemnächsten Schritt möchte ich denn Tag <wagolink> mit dem Button verknüpfen also sprich wen der Knopf gedrückt wird soll ein Http Request also dieser Link gesendet werden.
Danke für eure Hilfe und sorry für meine vielleicht anfängerhaften Fragen aber Google hat mir nur ansatzweise helfen können.
xmlhandler.java
In einemnächsten Schritt möchte ich denn Tag <wagolink> mit dem Button verknüpfen also sprich wen der Knopf gedrückt wird soll ein Http Request also dieser Link gesendet werden.
Danke für eure Hilfe und sorry für meine vielleicht anfängerhaften Fragen aber Google hat mir nur ansatzweise helfen können.
Java:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wagoml PUBLIC "-//wagoml org//DTD WAGOML 1.0//EN"
"http://pautex.fr/wago/DTD/WagoML-1.0.dtd">
<wagoml version="1.0" xmlns="http://pautex.fr/wago/">
<items>
<item id="4">
<title>Alles Licht Ein</title>
<name>AllesEin</name>
<description>Alles Ein</description>
<type>direct</type>
<affichage>button</affichage>
<IW><!--#READPI ADR=MW214&FORMAT=%d--></IW>
<wagolink>http://192.168.92.100/WRITEPI?ADR1=MX200.3&VALUE1=1&FORMAT1=%d</wagolink>
</item>
xmlhandler.java
Java:
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class MyXMLHandler extends DefaultHandler {
Boolean currentElement = false;
String currentValue = null;
public static SitesList sitesList = null;
public static SitesList getSitesList() {
return sitesList;
}
public static void setSitesList(SitesList sitesList) {
MyXMLHandler.sitesList = sitesList;
}
/** Called when tag starts ( ex:- <name>AndroidPeople</name>
* -- <name> )*/
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
currentElement = true;
if (localName.equals("items"))
{
/** Start */
sitesList = new SitesList();
} else if (localName.equals("item")) {
/** Get attribute value */
String attr = attributes.getValue("id");
sitesList.setid(attr);
}
else if (localName.equals("affichage"))
sitesList.setaffichage(currentValue);
}
/** Called when tag closing ( ex:- <name>AndroidPeople</name>
* -- </name> )*/
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
currentElement = false;
/** set value */
if (localName.equalsIgnoreCase("title"))
sitesList.settitle(currentValue);
if (localName.equalsIgnoreCase("affichage"))
sitesList.setaffichage(currentValue);
else if (localName.equalsIgnoreCase("item"))
sitesList.setitem(currentValue);
}
/** Called to get tag characters ( ex:- <name>AndroidPeople</name>
* -- to get AndroidPeople Character ) */
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
if (currentElement) {
currentValue = new String(ch, start, length);
currentElement = false;
}
}
}