Hallo,
ich blicke gerade nicht durch wie ich mit HTTPMOD eine XML auslesen kann. Im Wiki kann ich nur finden wie ich einzelne Readings per Regex oder XPath erstellen kann. Ich möchte aber wie bei JSON alle Readings autmatisch erstellen lassen.
Es geht um das Auslesen meiner Firewall.
Folgendermaßen sieht die XML aus (nur ein kleiner Ausschnitt)
<?xml version="1.0" encoding="UTF-8"?>
<Response APIVersion="1702.1" IPS_CAT_VER="1">
<Login>
<status>Authentication Successful</status>
</Login>
<BridgePair transactionid="">
<Status>No. of records Zero.</Status>
</BridgePair>
<VLAN transactionid="">
<Zone>LAN</Zone>
<Interface>Port1</Interface>
<Name>Port1.11</Name>
<VLANID>11</VLANID>
<IPv4Configuration>Enable</IPv4Configuration>
<IPv6Configuration>Disable</IPv6Configuration>
<IPv4Assignment>Static</IPv4Assignment>
<IPv6Address/>
<IPv6Prefix/>
<IPv6GatewayName/>
<IPv6GatewayAddress/>
<LocalIP/>
<Status>Connected</Status>
<IPv6Assignment/>
<DHCPRapidCommit/>
<IPAddress>192.168.11.1</IPAddress>
<Netmask>255.255.255.0</Netmask>
</VLAN>
<VLAN transactionid="">
<Zone>LAN</Zone>
<Interface>Port1</Interface>
<Name>Port1.12</Name>
<VLANID>12</VLANID>
<IPv4Configuration>Enable</IPv4Configuration>
<IPv6Configuration>Disable</IPv6Configuration>
<IPv4Assignment>Static</IPv4Assignment>
<IPv6Address/>
<IPv6Prefix/>
<IPv6GatewayName/>
<IPv6GatewayAddress/>
<LocalIP/>
<Status>Connected</Status>
<IPv6Assignment/>
<DHCPRapidCommit/>
<IPAddress>192.168.12.1</IPAddress>
<Netmask>255.255.255.0</Netmask>
</VLAN>
Ich stelle mir das Ergebnis/Readings irgendwie so vor:
VLAN-01-Zone LAN
VLAN-01-Interface Port 1
VLAN-01-Name Port1.11
VLAN-02-Zone LAN
VLAN-02-Interface Port 1
VLAN-02-Name Port1.12
...
Ist es möglich das so einzustellen? Es wäre viel zu aufwendig für jedes einzelne Reading ein Attribut usw. zu konfigurieren.
VG Sebastian
Ein "extractAllXML", ähnlich wie "extractAllJSON", gibt es nicht.
Du hast aber kaum 20 Werte zu holen...
Da die Struktur ja bekannt und offenbar recht einfach ist, kannst Du sowas einfach in Deiner 99_myUtils.pm umsetzen. Dafür braucht man nicht immer HTTPMOD.
Im Forum gibt es schon eine ganze Reihe Beispiele, wie man XML Daten mit wenigen Zeilen Code extrahieren kann.
Danke für die Hinweise,
ich habe jetzt auch nur die Werte die ich benötige Geholt, da war der Aufwand doch eher gering.
VG