2013-03-05 1 views
0

변수 안에 XML 데이터가 있습니다.PHP XML 데이터가 포함 된 변수의 텍스트/데이터 검색

이제이 변수 내에서 특정 텍스트를 검색해야합니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? 나는이 인터넷 검색을 봤는데하지만 좋은 결과는 :

/O를 XML 데이터는 다음과 같습니다 없습니다 :

<status> 
<connection_status>successful</connection_status> 
<operation_status>successful</operation_status> 
<Options> 
<data_2> 
<data_7422731> 
<id>7431</id> 
<assetId>2</assetId> 
<startDate>2013-03-05 11:00:00</startDate> 
<endDate>2013-03-05 12:00:00</endDate> 
</data_7422731> 
</data_2> 
</Options> 
</status> 

내가 지정한 ID를 검색해야합니다. 예를 들어

아이디 "7431"

+0

특정 요소를 찾으십니까? 아니면 오히려 구체적인 텍스트 콘텐츠? – Daniel

+3

코드를 게시하십시오. 노력을 보여주십시오. – Rikesh

+0

코드 (XML 파일의 구조, 찾고있는 내용과 시도한 내용)를 표시 할 수 있습니까? – Tjoene

답변

1

음이 꽤 XML 관련,하지만 다른 사람들이 말했듯이,하지 않는 한 당신은 더 많은 세부 사항과 코드를 제공합니다. 우리가 할 수있는 많은 도움이되지 않습니다.

이렇게하면 XML 파서를 설정 방해하지 않으려는 경우 빠른 더러운 수정은 다음과 같습니다

편집 : 나는 몇 가지 작은 실수를 해결하기 위해 코드를 업데이트하고, 그래서 함수로 설정되어 그것을 임의의 태그로 부를 수 있습니다.

function findID($mystring,$tag) 
{ 
    $begintag="<$tag>"; 
    $endtag = "</$tag>"; 
    $beginpos = strpos($mystring, $begintag); 
    $endpos = strpos($mystring,$endtag); 

    $length = $endpos - ($beginpos + strlen($beginpos) +1); 

    $extractedvariable = substr($mystring, $beginpos + strlen($beginpos) +1, $length); 

    return $extractedvariable; 
} 

사용 예 :

$data='<status> 
      <connection_status>successful</connection_status> 
      <operation_status>successful</operation_status> 
      <Options> 
      <data_2> 
      <data_7422731> 
      <id>7431</id> 
      <assetId>2</assetId> 
      <startDate>2013-03-05 11:00:00</startDate> 
      <endDate>2013-03-05 12:00:00</endDate> 
      </data_7422731> 
      </data_2> 
      </Options> 
      </status>'; 

echo findID($data,'id');  

나는 아직도 당신이 변수 또는 다단계 XML이있는 경우 태그의 대부분을 사용하려는 경우 XML 파서를 사용하는 것이 좋습니다.

+0

그것은 공백으로 돌아갑니다 ... 내가하고 싶은 것은 그것을 말하고 있습니다 : "7431 '$ text 변수에서"text 찾기 " – Satch3000

관련 문제