进步萨克斯-reader

Progress Sax-reader

我是 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'). 

感谢任何帮助。

我已经有一段时间没有使用 SAX reader 编写任何代码了,但我的旧代码表明您可能需要在 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