【发布时间】:2023-03-25 19:31:02
【问题描述】:
我正在尝试使用 NODE-RED 从 HTTP 源获取 XML 文档并解析文档/检索包含温度读数的特定属性。
这是源 XML:
<realval="20.235294117647058"status="unacked"href="http://172.16.7.1/obix/config/Drivers/NiagaraNetwork/TrBoard/points/FieldSide_Temp/"is="/obix/def/control:NumericPoint obix:Point"display="20.2 °C {unackedAlarm} @ 16"icon="/ord?module://icons/x16/control/numericPoint.png"unit="obix:units/celsius"xsi:schemaLocation="http://obix.org/ns/schema/1.0 /obix/xsd">
<strname="facets"val="units=u:celsius;°C;(K);+273.15;|precision=i:1|min=d:-inf|max=d:+inf"href="facets/"display="units=°C,precision=1,min=-inf,max=+inf"displayName="Facets"writable="true"></str>
<refname="proxyExt"href="proxyExt/"is="/obix/def/niagaraDriver:NiagaraProxyExt"display="slot:/Software/FieldSide_Temp"displayName="Proxy Ext"icon="/ord?module://icons/x16/control/controlExtension.png"></ref>
<realname="out"val="20.235294117647058"status="unacked"href="out/"is="/obix/def/baja:StatusNumeric"display="20.2 °C {unackedAlarm} @ 16"displayName="Out"icon="/ord?module://icons/x16/statusNumeric.png"unit="obix:units/celsius"> </real>
</real>
我希望将此文档中的“20.235294117647058”转换为可以在我的 NODE-RED 函数中返回的 var。
我能找到的少数几个特定的 XML 解析示例都做了非常手动的工作来删除字符串等,而不是利用可以从文档中读取节点/属性的现有 XML 解析器。
【问题讨论】:
-
这不是一个有效的 XML 文档 - 可能再次检查并复制/粘贴?获得有效的 XML 文档后,您可能需要查看 pixl-xml:npmjs.com/package/pixl-xml ...它是我在节点中使用 XML 的首选库。