it-swarm-ko.tech

간단한 XML을 사용하여 뷰를 제공 할 수 있습니까?

뷰의 힘을 사용하여 그리드 resp 테이블을 나타내는 간단한 xml에서 오는 데이터를 처리하고 싶습니다.

<list>
  <listpos id="12312">
    <foo>attr1</foo>
    <bar>attr bar</bar>
    ...
  </listpos>
  <listpos id="124412">
    <foo>attr 2</foo>
    <bar>attr barxy</bar>
    ...
  </listpos>
  ...
  ...
</list>

따라서 주요 작업은 해당 테이블을 정렬 가능하게 표시하고 일부 열을 제외하고 필터링 및 검색하는 것입니다.

뷰에서 가능합니까? 그것은 내가 생각하는 플러그인에 의해 처리 될까? 아니면 플러그인은 출력 전용입니까? (나는 json, atom etc 플러그인/모듈)을 알고 있습니다.)

또한 피드 모듈과 xml/xpath 파서를 시도하고 가져 오기 프로그램에서 노드를 작성하여 뷰가 표시되도록했습니다. 그러나 민감한 데이터이므로 웹 서버에 보관해서는 안되기 때문에 사용자가 로그 아웃 한 후에는 삭제해야합니다.

그리고이 데이터를 다른 소스와 결합하는 것, 즉 노드 테이블과의 결합은 어떻습니까?

5
groovehunter

이를위한 모듈이 있습니다 : XML Views .

2
Daniel Wehner

가장 좋은 방법은

  1. XML에서 데이터를 추출하는 간단한 XML 라이브러리를 사용하여 모듈 작성
  2. 해당 데이터를 노드에 저장
  3. 뷰를 사용하여 해당 데이터를 표시

이 방법을 사용하는 장점

  1. 방문자가 XML을 계속해서 읽는 오버 헤드가 없습니다.
  2. XML 구조가 변경되면 뷰에 비어 있거나 오류가 없습니다.

필자의 경험에 따르면 매번 XML을 파싱하는 것은 매우 비싸다.

그러나 XML 데이터가 민감하고 매번 서버에서 삭제해야하므로 사용자가 로그 아웃하는 경우가 다릅니다.

따라서 노드를 생성하고 삭제하는 것은 매우 현명한 단계가 아닙니다.

가장 좋은 방법은 간단한 xml 라이브러리를 사용하여 사용자 지정 모듈을 만들고 뷰를 전혀 사용하지 않는 것입니다. 해당 데이터를 임시 테이블에 저장하고 사용자 정의 모듈 또는 사용자 정의 SQL 쿼리를 사용하여 표시 한 다음 사용자가 로그 아웃 할 때 테이블과 xml을 삭제하는 사용자 후크를 사용하십시오.

2
Nikhil

그것은 사실이 아닙니다. 뷰는 SQL에 의존하지 않는 핸들러를 사용할 수 있습니다. http://drupalmodules.com/module/entityfieldquery-views-backend 는 이와 같은 작업을 수행하는 모듈의 예입니다. 나는 다른 것들이 있다고 확신합니다. http://developmentseed.org/blog/2009/feb/05/extendr-flickr-and-views 비슷한 흥미로운 사례 연구입니다.

즉, 아마도 간단한 작업이 아닙니다.

1
user112

뷰가 XML 데이터에 액세스하도록하려면 데이터베이스에 저장해야합니다. 실제로보기는 SQL을 작성하고 데이터를 출력하기위한 몇 가지 테마 함수를 제공하는 것입니다.

이를 도와 줄 수있는 몇 가지 모듈이 있습니다. 사용자 정의 데이터가 있으므로 data 모듈이 가장 적합합니다. 이렇게하면 데이터가 사용자 정의 테이블에 유지됩니다.

데이터를 영구적으로 저장하지 않도록 크론 작업을 작성하여 x 시간/일보다 오래된 항목을 삭제할 수 있습니다. 이 방법은 약간 깨끗하고 내가 생각할 수있는 가장 좋은 옵션입니다.

0
googletorp