2014-04-23 2 views
0

xml 파일의 마지막 예약 ID 값을 얻으려고합니다. 5 어떤 생각이 어떻게 -tags없이 값을 얻을 :xml의 하위에서 마지막 값 가져 오기

 XElement id = (from p in z.Elements("booking") 
          select p.Element("id")).Last(); 

그러나이 태그가 aswell 반환

이 내 코드?

은 XML 파일은 다음과 같이 soemthing 보이는 :

<?xml version="1.0" encoding="utf-8"?> 
<bookings> 
<booking> 
<id>1</id> 
<name>a</name> 
</booking> 
<booking> 
<id>2</id> 
<name>b</name> 
</booking> 
</bookings> 
+0

xml 파일을 표시 할 수 있습니까? 'id' 요소는 어떻게 생겼습니까? _tags_ 님이 요소 이름을 사용하셨습니까? –

+0

@ Teess 몇 분만 기다려주세요. 감사. – Christos

+0

@ Selman22 예 요소 이름을 의미합니다 – Tess

답변

1

이 하나를 시도 : 나는 doc는 XML을 나타내는 개체라고 가정

XElement lastElement = (from p in doc.Elements("bookings").Elements("booking") 
         select p.Element("id")).LastOrDefault(); 

if(lastElement!=null) 
    var value = lastElement.Value; 

.

는 제가 위에서 쓴 코드를하기 전에, 당신은이

XDocument doc = XDocument.Load("test.xml"); 

내가 xml 파일의 이름 test.xml의 것을 생각 선언해야합니다.

+0

'XElement'를'string'으로 변환 할 수 없습니다. 'XElement'의'Value' 속성을 읽어야합니다. –

+1

@ MD.Unicorn 네, 할 수 있습니다. XElement에서 문자열 및 int, double, DateTime과 같은 다른 형식으로 정의 된 변환이 있습니다. 자세한 내용은 문서를 참조하십시오. –

+0

@ Selman22 답장을 보내 주셔서 감사합니다. – Christos

0

항상 예약이 하나 이상 있으면 ID 값을 받아야합니다. 파일에 ID가 없으면 (예약이없는 경우) 빈 문자열을 참조하는 방식에 따라 ID는 "" 또는 string.Empty이됩니다.

string id = (string)z.Descendants("id").LastOrDefault(); 
+0

척 감사합니다. 며칠 전에 크리스토스가 문제를 해결했지만 시간을내어 도와 주셔서 감사합니다. – Tess

+0

@Tess Sure - 답을 올바른 것으로 표시하여 다른 사람이 만족스러운 답을 찾지 못했다고 생각하지 않도록하십시오. –

관련 문제