2010-07-21 4 views
0

I 전류를 읽을 수 없습니다 나는 그것의 값을 읽고 웹 페이지에 표시하는 구문 분석하고있어 다음 XML 조각이 있습니다XElement.Value 멀티 라인 데이터를

<root> 
    <PostcardTitle>The Needles</PostcardTitle> 
    <PostcardDescr>Granite Dells, Prescott</PostcardDescr> 
    <PostcardImage> 
    <img alt="GraniteDells" src="GraniteDells.jpg" /> 
    </PostcardImage> 
    <PostcardDate /> 
    <PostcardCredit>Photo Courtesy of Joe Schmoe</PostcardCredit> 
</root> 

나는 통해이 일을 해요을 PostcardImage 노드를 제외하고 빈 PostcardDate의 노드를 포함, 스크립트가 실행되면

Dim ContentDoc As XDocument 
Dim DocPoints As IEnumerable(Of XElement) 

ContentDoc = XDocument.Parse(ContentData.Item(0).content) 
DocPoints = ContentDoc.<root>.Elements() 

    For Each Item As XElement In DocPoints 

    Dim TempLabel As New Label 
    TempLabel.Text = Item.Name.LocalName & ": " & Item.Value 

    Dim TempLiteral As New Literal 
    TempLiteral.Text = "<br/><br/>" 

    pnlEditItems.Controls.Add(TempLabel) 
    pnlEditItems.Controls.Add(TempLiteral) 

Next 

는 모든 노드가 성공적으로 구문 분석 및 표시 : 다음 코드 (데이터베이스에서 조각을 읽기). 디버깅 할 때 Item.Value를 평가하면 빈 문자열이 반환됩니다. 그러나 Item.ToString()을 평가하면 PostcardItem 태그와 그 값이 반환됩니다.

XElement 객체가 여러 줄 값을 읽도록해야합니까? 아니면 다른 것을 놓치고 있습니까?

답변

2

당신은 XElement.Value가 반환하는 설명되어 무엇을 놓치고 :이 모든 요소의 텍스트 콘텐츠가 포함되어

하는 문자열. 여러 텍스트 노드가있는 경우 이 연결됩니다.

귀하의 PostcardImage 문서 (공백 제외)하지 텍스트 내용을 수행합니다. 원하는 부분을 찾아야합니다 (예 : img 태그의 alt 속성). 또는 XML 축약 만 포함하려는 경우 요소에 Nodes()을 호출 할 수 있습니다. DOM의 "InnerXml"속성과 동일한 기능이 있습니다.

+0

이미지 태그를 노드로 읽는 것을 완전히 잊어 버렸습니다. 요소의 첫 번째 노드를 잡으면 완전한 이미지 태그 텍스트가 나타납니다. 언제나처럼 Jon, 너는 최고야! 감사!!! –

관련 문제