Autor Zpráva
Dušan
Profil *
Zdravim,
nedarí sa mi vytvoriť jednoduchý filter xml súboru z Quido krabičky. Tá ma výstup fresh.xml a potreboval by som len hodnotu teploty v temp atribút val="27"
<?xml version="1.0" encoding="ISO-8859-2"?>
<root xmlns="http://www.papouch.com/xml/quido/act">
<din name="" id="1" cnt="0" cmo="0" pic="4" val="0" sts="0"/>
<din name="" id="2" cnt="0" cmo="0" pic="4" val="0" sts="0"/>
<din name="" id="3" cnt="0" cmo="0" pic="4" val="0" sts="0"/>
<din name="" id="4" cnt="0" cmo="0" pic="4" val="0" sts="0"/>
<dout name="" id="1" mde="1" pic="2" val="0" sts="0" pars="1;0;1250;-550;2"/>
<dout name="" id="2" mde="1" pic="2" val="0" sts="0" pars="1;0;1250;-550;2"/>
<dout name="" id="3" mde="0" pic="4" val="0" sts="0" pars="1;0;1250;-550;0"/>
<dout name="" id="4" mde="0" pic="4" val="0" sts="0" pars="1;0;1250;-550;0"/>
<temp id="1" tl="-55.0" th="125.0" val="27" sts="4" tenb="0"/>
<status location=""/>
</root>

Vďaka za pomoc
juriad
Profil
V takovém případě nejspíš nechceš XSLT, alex XPath:
//temp/@val
Dušan
Profil *
Toto je moj xsl súbor, ktorý samozrejme nefunguje nech zadávam akékolvek cesty

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:output indent="yes" method="xml" encoding="ISO-8859-2" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:value-of select="//temp/@val" />
</xsl:template>
</xsl:stylesheet>
juriad
Profil
Jaký má být výstup toho XSLT?
Pokud ti jde jen o hodnotu toho atributu, je opravdu lepší na celý xslt zapomenout a použít jednoduchý nástroj, který umí XPath.

XSLT vypadá:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://www.papouch.com/xml/quido/act">
  <xsl:output indent="yes" method="xml" encoding="ISO-8859-2" omit-xml-declaration="yes" />
  <xsl:template match="/">
    <xsl:value-of select="d:root/d:temp/@val" />
  </xsl:template>
</xsl:stylesheet>

Pokud bys na výstupu chtěl mít nějaké xml, může se ti hodit atribut stylesheetu exclude-result-prefixes="d".
Dušan
Profil *
Super toto funguje podla predstáv, ďakujem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0