당신이 가진 질문을 태그하지 않은 프로그래밍 언어이지만 코드는 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»
_' $ roottag = $ dom-> getElementsByTagName ("모델") [0] ...'_ - PHP가 있습니까? –