2010-07-26 1 views
5

VB.NET에서는 <xml><%= "my string" %></xml>을 사용하여 문자열을 XML 리터럴에 쉽게 포함시킬 수 있습니다.XElements를 VB.NET의 XML 리터럴에 포함하려면 어떻게해야합니까?

XElement 인스턴스를 어떻게 삽입 할 수 있습니까?

나는 XElement, XNode 등의 클래스에서 메소드를 사용할 수 있지만 가능한 경우 XML 리터럴에서 처리하고 싶습니다. 당신이 정말로 그렇게 할 필요가 있다면, 당신은 항상 다만이 작업을 수행 할 수

답변

7

그것은 단순히 다음과 같은 작업을 수행 할 수집니다 :

멋지다
Function GetSomeMoreXml() As XElement 
    Return <moreXml/> 
End Function 

Sub Main() 
    Dim myXml = <myXml> 
        <%= GetSomeMoreXml() %> 
       </myXml> 
End Sub 

. XML 리터럴을 더 다루기 쉬운 덩어리로 분해 할 수 있습니다.

-1

:

<xml><%= myXElement.ToString() %></xml> 

난 당신이 비록이 작업을 수행 할만한 예를 생각할 수 없다. 당신이 왜 이것을 필요로하는지 자세히 설명하는 치료? XElement 문자열을 작성한 다음 객체 모델에 다시 추가하기 전에 구문 분석해야합니다 (최소한 그것이 어떻게 작동해야하는지 상상합니다).

+0

저는 XSLT로 할 때와 마찬가지로 XLinq와 XML 리터럴을 사용하여 변환을 수행합니다. 지금은 변형을 수행하는 약 200 줄의 XML 리터럴 블록이 있습니다. 속성 값과 텍스트는'<% = myElement.ExtensionMethod() %>'블록으로 생성됩니다. XML 리터럴의 일부 블록을 자체 메서드로 분해하고 XML 리터럴의 기본 블록에 다시 포함 된 XElement를 반환하기를 바랬습니다. – GiddyUpHorsey

+0

당신의 솔루션은 효과가 있지만 문자열로 변환하지 않고 다시 XElement로 구문 분석합니다. 나는 그것을하는 더 자연스러운 방법이 있기를 바라고 있었다. – GiddyUpHorsey

+0

모든 XML 리터럴을 사용하는 대신 XDocument/XElement 생성자와 리터럴을 혼합하여 루트 문서를 만들 수 있습니다 (C# -er가 어떻게해야하는지 생각하십시오). XElements를 LINQ-to-XML을 통해 문서에 추가하여 특정 대상 영역에 삽입 할 수 있습니다. – Ocelot20