반응형
다음 형제/X를 선택하는 방법XPath를 사용한 ML 태그
저는 (Newegg에서) HTML 파일을 가지고 있으며, 그들의 HTML은 아래와 같이 구성되어 있습니다.규격표의 모든 데이터는 'desc'이고 각 섹션의 제목은 '이름'입니다.아래는 Newegg 페이지의 두 가지 데이터 예입니다.
<tr>
<td class="name">Brand</td>
<td class="desc">Intel</td>
</tr>
<tr>
<td class="name">Series</td>
<td class="desc">Core i5</td>
</tr>
<tr>
<td class="name">Cores</td>
<td class="desc">4</td>
</tr>
<tr>
<td class="name">Socket</td>
<td class="desc">LGA 1156</td>
<tr>
<td class="name">Brand</td>
<td class="desc">AMD</td>
</tr>
<tr>
<td class="name">Series</td>
<td class="desc">Phenom II X4</td>
</tr>
<tr>
<td class="name">Cores</td>
<td class="desc">4</td>
</tr>
<tr>
<td class="name">Socket</td>
<td class="desc">Socket AM3</td>
</tr>
결국 각각의 데이터를 저장할 수 있는 Brand, Series, Cores, Socket 타입으로 구성된 CPU(이미 설정된) 클래스를 갖고 싶습니다.이것이 제가 생각할 수 있는 유일한 방법입니다.
if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'):
CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text
그리고 나머지 가치들을 위해서 이렇게 하는 것.제가 다음 형제를 어떻게 달성하고 더 쉬운 방법은 없을까요?
제가 다음 형제를 어떻게 달성하고 더 쉬운 방법은 없을까요?
다음을 사용할 수 있습니다.
tr/td[@class='name']/following-sibling::td
직접적으로 사용하고 싶습니다.
tr[td[@class='name'] ='Brand']/td[@class='desc']
다음을 가정합니다.
XPath 식을 평가하는 컨텍스트 노드는 다음의 상위 노드입니다.
trelements -- 질문에 표시되지 않습니다.각각
tr원소는 오직 하나를 갖습니다.td와 함께class속성값'name'단 한명만td와 함께class속성값'desc'.
해보세요.following-sibling축()following-sibling::td).
완전성을 위해 - 위의 승인된 답변에 추가 - 요소 유형에 관계없이 형제에 관심이 있는 경우 변형을 사용할 수 있습니다.
following-sibling::*
언급URL : https://stackoverflow.com/questions/3139402/how-to-select-following-sibling-xml-tag-using-xpath
반응형
'programing' 카테고리의 다른 글
| CSS를 사용하여 디브 3개를 나란히 띄우는 방법? (0) | 2023.10.12 |
|---|---|
| Java의 MySQL Insert 문 성능: Batch mode 준비문 vs 여러 값을 가진 단일 insert (0) | 2023.10.12 |
| Amazon RDS MySQL 인스턴스의 성능이 매우 느림 (0) | 2023.10.12 |
| 스위프트의 블록(애니메이션 위드 듀레이션:애니메이션:완료:) (0) | 2023.10.12 |
| MySQL - 텍스트 대 CHAR 및 VARCHAR (0) | 2023.10.12 |