2016-12-18 3 views
0

값 형식을 얻는 방법 = 'Microsoft Lumia'.특성 요소에서 값을 얻는 방법

$roottag = $dom->getElementsByTagName("model")[0].getAttribute("type[contain='Microsoft Lumia']"); 

누군가가 나를 도울 수 :

<phone> 
<model type="Microsoft Lumia"> 
<lumia id="Lumia 650"> 
<displaySize>4 Inch</displaySize> 
<platformOS>Windows</platformOS> 
</lumia> 
<lumia id="Lumia 890"> 
<displaySize>5 Inch</displaySize> 
<platformOS>Windows</platformOS> 
</lumia> 

이 내 구문입니다 이 출력됩니다! 사전

+0

_' $ roottag = $ dom-> getElementsByTagName ("모델") [0] ...'_ - PHP가 있습니까? –

답변

0

당신이 가진 질문을 태그하지 않은 프로그래밍 언어이지만 코드는 PHP와 매우 흡사합니다. DOM extension :

$roottag = $dom->getElementsByTagName("model")[0].getAttribute("type[contain='Microsoft Lumia']"); 

정확하게 이해하면 요소에 type 속성을 가져 오는 방법을 모르면 'Microsoft Lumia' 문자열을 포함하는 값을 가질 수 있습니다. 이것은 쉽게 다음 XPath 식으로 이루어집니다 :

//model[contains(@type, 'Microsoft Lumia')] 

이중 슬래시는 문서의 모든 model 요소를 선택합니다. 대괄호 안의 조건은 contains 함수를 호출하여 결과 집합을 필터링합니다. 이 함수는 type 속성 값에 주어진 키워드가 포함되어 있는지 확인합니다.

DOM 확장 프로그램은 DOMXPath 클래스를 통해 XPath를 지원합니다. 코드가 PHP가 아닌 경우에도 해당 언어로 솔루션을 파악할 수 있습니다. 일반적인 개념은 위와 같이 XPath를 사용하는 것입니다.

예 PHP

의 다음 예 Lumia 키워드를 포함 type 속성 값을 출력한다.

$xml = <<<'XML' 
<phone> 
    <model type="Microsoft Lumia"> 
    <lumia id="Lumia 650"> 
     <displaySize>4 Inch</displaySize> 
     <platformOS>Windows</platformOS> 
    </lumia> 
    <lumia id="Lumia 890"> 
     <displaySize>5 Inch</displaySize> 
     <platformOS>Windows</platformOS> 
    </lumia> 
    </model> 
    <model type="MS Lumia"> 
    <lumia id="X"> 
     <displaySize>5 Inch</displaySize> 
     <platformOS>Windows</platformOS> 
    </lumia> 
    </model> 
</phone> 
XML; 
$doc = new DOMDocument; 
$doc->loadXML($xml); 

$xpath = new DOMXPath($doc); 
// See https://www.w3.org/TR/xpath/#function-contains 
$keyword = 'Lumia'; 
$models = $xpath->query("//model[contains(@type, '{$keyword}')]"); 
foreach ($models as $m) { 
    printf(
    "«%s» contains «%s»\n", 
    $m->getAttribute('type'), 
    $keyword 
); 
} 

출력

«Microsoft Lumia» contains «Lumia» 
«MS Lumia» contains «Lumia» 
+0

$ roottag = $ dom-> getElementsByTagName ("model") [0]; // getAttribute ("type [contains = 'Microsoft Lumia']"); \t $ tolol = $ roottag-> getAttribute ("type [contains = 'Microsoft Lumia']"); – Akmal

+0

u 대단히 감사합니다. 위의 솔루션입니다 : D 조 – Akmal

0

당신이 얻을 수있는 '마이크로 소프트 루미아'에 감사 :

alert(document.getElementsByTagName("model")[0].getAttribute("type")); 

업데이트 부분 : 코멘트에있는 당신의 요구로 :

var d = document.getElementsByTagName("model")[0].getAttribute("type"); 
    if(d == 'Microsoft Lumia'){ 
    alert(d); 
} 
+0

하지만 뭔가를 원한다면 == "Microsoft Lumia"가 필요합니까? 죄송합니다.이 지역에 초보자도 있습니다. – Akmal

+0

업데이트 된 답변! – mohsen