尝试读取XML值';使用xsltproc调用
我想从中阅读,但不知道如何 以下是文件:尝试读取XML值';使用xsltproc调用,xml,bash,xslt,Xml,Bash,Xslt,我想从中阅读,但不知道如何 以下是文件: <MBusData> <SlaveInformation> <Id>5000619</Id> <Manufacturer>SBC</Manufacturer> <Version>19</Version> <Medium>Electricity</Medium>
<MBusData>
<SlaveInformation>
<Id>5000619</Id>
<Manufacturer>SBC</Manufacturer>
<Version>19</Version>
<Medium>Electricity</Medium>
<AccessNumber>254</AccessNumber>
<Status>00</Status>
<Signature>0000</Signature>
</SlaveInformation>
<DataRecord id="0">
<Function>Instantaneous value</Function>
<Unit>Energy (10 Wh)</Unit>
<Value>686648</Value>
</DataRecord>
<DataRecord id="1">
<Function>Instantaneous value</Function>
<Unit>Energy (10 Wh)</Unit>
<Value>686648</Value>
</DataRecord>
<MBusData>
希望您能帮助…首先,您的XML输入格式不正确:最后一个
标记需要是一个结束标记
其次,这是:
<xsl:template match="/">
<xsl:for-each select="Datarecord">
最后,值
是数据记录
的子项,而不是属性-因此您需要更改此项:
<xsl:value-of select="@Value"/>
THX,它可以工作,但如果我只想读取一个特定的数据记录,比如id=“1”,该怎么办?
<xsl:template match="/">
<xsl:for-each select="Datarecord">
<xsl:template match="/">
<xsl:for-each select="MBusData/DataRecord">
<xsl:value-of select="@Value"/>
<xsl:value-of select="Value"/>
<xsl:template match="/">
<xsl:value-of select="MBusData/DataRecord[@id='1']/Value"/>
</xsl:template>