2014-05-10 6 views
2

이것은 내가에서 가져올 XML입니다구글 스프레드 시트 IMPORTXML에 대한 간단한 XPath는

<emd version="2"> 
    <currentTime>2014-05-10 13:17:27</currentTime> 
    <result> 
     <rowset name="history" key="typeID,regionID,date" columns="typeID,regionID,date,lowPrice,highPrice,avgPrice,volume,orders"> 
      <row typeID="16669" regionID="10000002" date="2014-05-08" lowPrice="27448" highPrice="37447.89" avgPrice="31586.6243" volume="156980" orders="24"/> 
      <row typeID="16669" regionID="10000002" date="2014-05-09" lowPrice="30501.17" highPrice="37445" avgPrice="36530.1858" volume="170121" orders="16"/> 
      <row typeID="16669" regionID="10000002" date="2014-05-10" lowPrice="33004" highPrice="33004.03" avgPrice="33004.0224" volume="40425" orders="3"/> 
     </rowset> 
    </result> 
</emd> 

을하지만이 아니므로 회색 텍스트, 행의 값 volumeorders을 얻으려면 어떻게해야합니까? 그리고 가능하다면 date (예 : 2014-05-08)에서 추출 만하려면 어떻게하나요?

그것은 아주 간단하지만 그 모든 아주 새로운이기 때문에 나는 그것을 알아낼 수 없습니다 나는 심지어 여기

에 대한 구글 해야할지 모르겠어 내가 지금까지 시도했습니다 내용은 다음과 같습니다

=IMPORTXML("http://api.eve-marketdata.com/api/item_history2.xml?char_name=demo&region_ids=10000002&type_ids=16669&days=2" , "/emd/result/rowset/row") 

답변

2

XPath 식은 :

/emd/result/rowset/row 

모든 세 개의 행을 포함하는 노드 집합을 선택한다. 특정 행을 선택하려는 경우 예를 들어, 당신이 원하는 행을 포함하는 조건 []를 첨부해야합니다

/emd/result/rowset/row[2] 

는 두 번째 행을 선택합니다.

선택한 행에서 개별 속성을 선택하려면 속성 이름 앞에 @ 기호가 포함 된 추가 위치 단계를 추가하기 만하면됩니다. 예를 들어, 첫 번째 행의 date, volumeorders 속성의 내용을 얻기 위해

/emd/result/rowset/row[1]/@date 
/emd/result/rowset/row[1]/@volume 
/emd/result/rowset/row[1]/@orders 

: 당신은 같은 표현을 사용할 수 있습니다.

+0

내가 이해하지 못하는 어떤 이유로 든, 당신은 또한 모든 속성 이름을 소문자로 처리해야만합니다. – Leo

+0

작동합니다! 고마워요 !! – user3623246

관련 문제