문제

나는 맛있는 책갈피와 linq에서 xml로 재미있는 일을 시작하고 싶다고 생각했고, 태그 속성을 분할 할 수있는 방법이 있는지 궁금합니다. 이내에 LINQ.

내가 의미하는 바 LINQ 내에서 태그를 분할하십시오 각 게시물 요소에 대한 문자열 모음을 생성하고 있었으므로 예상 결과는 일반적인 모음입니다. post 속성으로 속성을 가진 요소는 다음과 같이 tag 속성 자체는 다른 문자열 모음이며, 항목은 각 태그입니다.

Delicious.com의 수출 된 XML에 익숙하지 않은 사람들을 위해 요소의 기본 구조는 다음과 같습니다.

<post
    href="http://stackoverflow.com/"
    hash="e4a42d992025b928a586b8bdc36ad38d"
    description="Stack Overflow"
    tag="code development programming community tips answers reference"
    time="2009-05-22T19:44:09Z"
    extended="Stack Overflow is a programming Q & A site that's free."
    meta="e0bf85c9df073cd51cc5528637db5277"
 />

여기에 사용중인 코드 스 니펫은 다음과 같습니다.

   XDocument delicious = XDocument.Load("all.xml");

  var bookmarks = from posts in delicious.Descendants().Attributes("tag")
                  select (string)posts;

모든 아이디어, 제안, 의견은 정말 감사 할 것입니다.

도움이 되었습니까?

해결책

원하는 출력은 실제로 어떤가요? "태그"필드에서 각 값의 배열을 원하십니까?

var bookmarks = from posts in delicious.Descendants().Attributes("tag")
                    select ((string)posts).Split(" ");

그것은 당신에게 배열 목록을 제공 할 것입니다. 잘 지정되지 않기 때문에 원하는 것을 성취하는 방법을 말하기는 어렵습니다.

다른 팁

문자열 클래스에는 분할 메소드가 있습니다.
이것이 당신이 찾고있는 것입니까?

편집 : string.join (환경 .newline, 책갈피 .toArray ());

내가 한 일은 '세트'를 사용하고 해당 변수에 값을 할당 한 다음 세트를 계속 조작하는 데 사용했기 때문에 결국에는 LINQ 쿼리에 사용할 수있었습니다. 이제 나에게 유용합니다. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top