Право или неправильный способ искать в элементе XML с XMLSearch?

Я перезапускаю Activity с cameraId = 2, и это работает.

6
задан Adrian Lynch 12 June 2009 в 12:55
поделиться

1 ответ

<cfset parent = XMLParse(parent)><!--- Is this needed? --->

Нет, это не так. Это даже снижение производительности, потому что вы создаете новый DOM таким образом.

Вы получаете массив узлов XML из XmlSearch () (зачем еще вам использовать ?). Это означает, что они должны быть эквивалентными:

<!-- new CF8 syntax -->   
<cfloop array="#parents#" index="parent">
  <cfdump var="#parent#">
</cfloop>

<!-- old syntax -->   
<cfloop from="1" to="#ArrayLen(parents)#" index="i">
  <cfdump var="#parents[i]#">
</cfloop>

Чтобы ColdFusion учитывал контекст при поиске узла, вам нужно сделать:

XMLSearch(parent, ".//child")
-------------------^

Если вы начинаете выражение XPath с "//" , Очевидно, что ColdFusion выполняет поиск по всему документу, которому принадлежит узел, а не только по его потомкам.

Но если вас интересует вывод всех элементов из документа, почему бы не сделать это вместо :

<cfset children = XMLSearch(xml, "//child")>
8
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: