Progress Sax-reader

时间:2018-05-30 10:32:41

标签: sax openedge progress-4gl

我对Sax-reader的进步感到陌生。我正在阅读XML,并且我试图获取节点中某个属性的值。特别是place-id属性值。

<address ssid="32975" place-id="11537" quality="good">

我在这里阅读文档:https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvxml%2Fretrieving-data-from-a-sax-attributes-object.html%23wwID0ECILM和我似乎表明我应该使用

GET-VALUE-BY-NAMESPACE-NAME( ) 

我已经在CASE中写了这样的内容:但是还没有能够让它发挥作用,并且无法找到任何示例:

WHEN "address" THEN ASSIGN lv-place-id = charData.GET-VALUE-BY-NAMESPACE-NAME('address','place-id'). 

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

我用SAX阅读器编写任何代码已经有一段时间了,但我的旧代码表明你可能在StartElement()过程中需要这些内容:

placeId = hAttributes:get-value-by-qname( "place-id" ).

根据您实际执行的操作,您可能需要额外的代码来决定何时执行该操作(我猜您的CASE语句适合此目的)。

此示例代码也可能有用:

https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvxml%2Fwithout-namespace-processing.html%23wwID0EFNAO