0
ValueIterator 형식의 cts.search 결과가 있습니다. 결과는 일부 XML 문서입니다. 자바 스크립트에서 XPath 대안을 찾고 있습니다. 나는 getElementByTagNameNS
을 사용해 보았습니다.하지만 모든 요소를 반복해야합니다. 나는 다음과 같은 것을 시도했다. -ValueIterator 또는 Array에서 XML 요소 가져 오기
var arr = searchResult.toArray();
var ids = [];
for(var j=0; j<arr.length; j++) {
ids.push(arr[j].getElementsByTagNameNS(c, 'id')[0].textContent)
}
루프없이 할 수 있습니까? 각 요소를 반복하지 않고도?
에 배열 비효율적 캐스트가 유지되는 경우가 가능하다 :
이 내가 당신을 도와 볼 수있는 가장 가까운 다음과 같이 루프를 제거하십시오 :'searchResult.toArray(). map (function (docFound) {return docFound.xpath ('some/xpath/path')})'. – chriskelly
나는 그것에 대해 생각했다. map 함수는 배열의 모든 멤버에 액세스해야하기 때문에 여전히 반복 형식을 사용합니다. 그리고 배열로 캐스팅 할 때, 나는 당신이 모든 내용을 추출했다고 믿는다. ML은 iterator로 유지하고 xpath 함수를 사용하여 전반적인 데이터를 덜 만지면 효과가 있다고 믿습니다. 텍스트 노드뿐입니다. MarkLogic에 대해 물어볼 재미있는 자료입니다. –
아니요. 귀하의 접근 방식이 올바른 해결책이라고 생각합니다. OP가 정말로 자신의 코드에서 명시적인 루프를 피하고자한다면 'toArray()'는 구문적인 설탕이라는 이해와 함께 유지 될 수 있다고 지적했다. – chriskelly